From 59203c63bb777a3bacec32fb8830fba33540e809 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 12 Jun 2024 07:35:29 +0200 Subject: Adding upstream version 127.0. Signed-off-by: Daniel Baumann --- dom/console/tests/xpcshell/test_worker.js | 59 +++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 dom/console/tests/xpcshell/test_worker.js (limited to 'dom/console/tests/xpcshell/test_worker.js') diff --git a/dom/console/tests/xpcshell/test_worker.js b/dom/console/tests/xpcshell/test_worker.js new file mode 100644 index 0000000000..7792dfc2da --- /dev/null +++ b/dom/console/tests/xpcshell/test_worker.js @@ -0,0 +1,59 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Tests for console.createInstance usage in workers. + * + * Also tests that the use of `maxLogLevelPref` logs an error, and log levels + * fallback to the `maxLogLevel` option. + */ + +"use strict"; + +let { TestUtils } = ChromeUtils.importESModule( + "resource://testing-common/TestUtils.sys.mjs" +); + +add_task(async function () { + let endConsoleListening = TestUtils.listenForConsoleMessages(); + let workerCompleteDeferred = Promise.withResolvers(); + + const worker = new ChromeWorker("resource://test/worker.mjs"); + worker.onmessage = workerCompleteDeferred.resolve; + worker.postMessage({}); + + await workerCompleteDeferred.promise; + + let messages = await endConsoleListening(); + + // Should log that we can't use `maxLogLevelPref`, and the warning message. + // The info message should not be logged, as that's lower than the specified + // `maxLogLevel` in the worker. + Assert.equal(messages.length, 2, "Should have received two messages"); + + // First message should be the error that `maxLogLevelPref` cannot be used. + Assert.equal(messages[0].level, "error", "Should be an error message"); + Assert.equal( + messages[0].prefix, + "testPrefix", + "Should have the correct prefix" + ); + Assert.equal( + messages[0].arguments[0], + "Console.maxLogLevelPref is not supported within workers!", + "Should have the correct message text" + ); + + // Second message should be the warning. + Assert.equal(messages[1].level, "warn", "Should be a warning message"); + Assert.equal( + messages[1].prefix, + "testPrefix", + "Should have the correct prefix" + ); + Assert.equal( + messages[1].arguments[0], + "Test Warn", + "Should have the correct message text" + ); +}); -- cgit v1.2.3