mobile/android/tests/background/junit3/src/common/TestAndroidLogWriters.java

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/mobile/android/tests/background/junit3/src/common/TestAndroidLogWriters.java	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,68 @@
     1.4 +/* Any copyright is dedicated to the Public Domain.
     1.5 +   http://creativecommons.org/publicdomain/zero/1.0/ */
     1.6 +
     1.7 +package org.mozilla.gecko.background.common;
     1.8 +
     1.9 +import org.mozilla.gecko.background.common.log.Logger;
    1.10 +import org.mozilla.gecko.background.common.log.writers.AndroidLevelCachingLogWriter;
    1.11 +import org.mozilla.gecko.background.common.log.writers.AndroidLogWriter;
    1.12 +import org.mozilla.gecko.background.common.log.writers.LogWriter;
    1.13 +import org.mozilla.gecko.background.helpers.AndroidSyncTestCase;
    1.14 +
    1.15 +public class TestAndroidLogWriters extends AndroidSyncTestCase {
    1.16 +  public static final String TEST_LOG_TAG = "TestAndroidLogWriters";
    1.17 +
    1.18 +  public static final String TEST_MESSAGE_1 = "LOG TEST MESSAGE one";
    1.19 +  public static final String TEST_MESSAGE_2 = "LOG TEST MESSAGE two";
    1.20 +  public static final String TEST_MESSAGE_3 = "LOG TEST MESSAGE three";
    1.21 +
    1.22 +  public void setUp() {
    1.23 +    Logger.stopLoggingToAll();
    1.24 +  }
    1.25 +
    1.26 +  public void tearDown() {
    1.27 +    Logger.resetLogging();
    1.28 +  }
    1.29 +
    1.30 +  /**
    1.31 +   * Verify these *all* appear in the Android log by using
    1.32 +   * <code>adb logcat | grep TestAndroidLogWriters</code> after executing
    1.33 +   * <code>adb shell setprop log.tag.TestAndroidLogWriters ERROR</code>.
    1.34 +   * <p>
    1.35 +   * This writer does not use the Android log levels!
    1.36 +   */
    1.37 +  public void testAndroidLogWriter() {
    1.38 +    LogWriter lw = new AndroidLogWriter();
    1.39 +
    1.40 +    Logger.error(TEST_LOG_TAG, TEST_MESSAGE_1, new RuntimeException());
    1.41 +    Logger.startLoggingTo(lw);
    1.42 +    Logger.error(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.43 +    Logger.warn(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.44 +    Logger.info(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.45 +    Logger.debug(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.46 +    Logger.trace(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.47 +    Logger.stopLoggingTo(lw);
    1.48 +    Logger.error(TEST_LOG_TAG, TEST_MESSAGE_3, new RuntimeException());
    1.49 +  }
    1.50 +
    1.51 +  /**
    1.52 +   * Verify only *some* of these appear in the Android log by using
    1.53 +   * <code>adb logcat | grep TestAndroidLogWriters</code> after executing
    1.54 +   * <code>adb shell setprop log.tag.TestAndroidLogWriters INFO</code>.
    1.55 +   * <p>
    1.56 +   * This writer should use the Android log levels!
    1.57 +   */
    1.58 +  public void testAndroidLevelCachingLogWriter() throws Exception {
    1.59 +    LogWriter lw = new AndroidLevelCachingLogWriter(new AndroidLogWriter());
    1.60 +
    1.61 +    Logger.error(TEST_LOG_TAG, TEST_MESSAGE_1, new RuntimeException());
    1.62 +    Logger.startLoggingTo(lw);
    1.63 +    Logger.error(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.64 +    Logger.warn(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.65 +    Logger.info(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.66 +    Logger.debug(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.67 +    Logger.trace(TEST_LOG_TAG, TEST_MESSAGE_2);
    1.68 +    Logger.stopLoggingTo(lw);
    1.69 +    Logger.error(TEST_LOG_TAG, TEST_MESSAGE_3, new RuntimeException());
    1.70 +  }
    1.71 +}

mercurial