summaryrefslogtreecommitdiffstats
path: root/toolkit/components/normandy/test/browser/browser_LogManager.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/normandy/test/browser/browser_LogManager.js')
-rw-r--r--toolkit/components/normandy/test/browser/browser_LogManager.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/toolkit/components/normandy/test/browser/browser_LogManager.js b/toolkit/components/normandy/test/browser/browser_LogManager.js
new file mode 100644
index 0000000000..65f64c994b
--- /dev/null
+++ b/toolkit/components/normandy/test/browser/browser_LogManager.js
@@ -0,0 +1,30 @@
+"use strict";
+
+const { LogManager } = ChromeUtils.importESModule(
+ "resource://normandy/lib/LogManager.sys.mjs"
+);
+const { Log } = ChromeUtils.importESModule(
+ "resource://gre/modules/Log.sys.mjs"
+);
+
+add_task(async function () {
+ // Ensure that configuring the logger affects all generated loggers.
+ const firstLogger = LogManager.getLogger("first");
+ LogManager.configure(5);
+ const secondLogger = LogManager.getLogger("second");
+ is(firstLogger.level, 5, "First logger level inherited from root logger.");
+ is(secondLogger.level, 5, "Second logger level inherited from root logger.");
+
+ // Ensure that our loggers have at least one appender.
+ LogManager.configure(Log.Level.Warn);
+ const logger = LogManager.getLogger("test");
+ ok(!!logger.appenders.length, "Loggers have at least one appender.");
+
+ // Ensure our loggers log to the console.
+ await new Promise(resolve => {
+ SimpleTest.waitForExplicitFinish();
+ SimpleTest.monitorConsole(resolve, [{ message: /legend has it/ }]);
+ logger.warn("legend has it");
+ SimpleTest.endMonitorConsole();
+ });
+});