diff -r 000000000000 -r 6474c204b198 mobile/android/tests/background/junit3/src/common/TestAndroidLogWriters.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobile/android/tests/background/junit3/src/common/TestAndroidLogWriters.java Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,68 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +package org.mozilla.gecko.background.common; + +import org.mozilla.gecko.background.common.log.Logger; +import org.mozilla.gecko.background.common.log.writers.AndroidLevelCachingLogWriter; +import org.mozilla.gecko.background.common.log.writers.AndroidLogWriter; +import org.mozilla.gecko.background.common.log.writers.LogWriter; +import org.mozilla.gecko.background.helpers.AndroidSyncTestCase; + +public class TestAndroidLogWriters extends AndroidSyncTestCase { + public static final String TEST_LOG_TAG = "TestAndroidLogWriters"; + + public static final String TEST_MESSAGE_1 = "LOG TEST MESSAGE one"; + public static final String TEST_MESSAGE_2 = "LOG TEST MESSAGE two"; + public static final String TEST_MESSAGE_3 = "LOG TEST MESSAGE three"; + + public void setUp() { + Logger.stopLoggingToAll(); + } + + public void tearDown() { + Logger.resetLogging(); + } + + /** + * Verify these *all* appear in the Android log by using + * adb logcat | grep TestAndroidLogWriters after executing + * adb shell setprop log.tag.TestAndroidLogWriters ERROR. + *

+ * This writer does not use the Android log levels! + */ + public void testAndroidLogWriter() { + LogWriter lw = new AndroidLogWriter(); + + Logger.error(TEST_LOG_TAG, TEST_MESSAGE_1, new RuntimeException()); + Logger.startLoggingTo(lw); + Logger.error(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.warn(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.info(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.debug(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.trace(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.stopLoggingTo(lw); + Logger.error(TEST_LOG_TAG, TEST_MESSAGE_3, new RuntimeException()); + } + + /** + * Verify only *some* of these appear in the Android log by using + * adb logcat | grep TestAndroidLogWriters after executing + * adb shell setprop log.tag.TestAndroidLogWriters INFO. + *

+ * This writer should use the Android log levels! + */ + public void testAndroidLevelCachingLogWriter() throws Exception { + LogWriter lw = new AndroidLevelCachingLogWriter(new AndroidLogWriter()); + + Logger.error(TEST_LOG_TAG, TEST_MESSAGE_1, new RuntimeException()); + Logger.startLoggingTo(lw); + Logger.error(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.warn(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.info(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.debug(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.trace(TEST_LOG_TAG, TEST_MESSAGE_2); + Logger.stopLoggingTo(lw); + Logger.error(TEST_LOG_TAG, TEST_MESSAGE_3, new RuntimeException()); + } +}