diff options
Diffstat (limited to 'dom/console/tests/xpcshell/test_basic.js')
-rw-r--r-- | dom/console/tests/xpcshell/test_basic.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/dom/console/tests/xpcshell/test_basic.js b/dom/console/tests/xpcshell/test_basic.js new file mode 100644 index 0000000000..00fb253a4c --- /dev/null +++ b/dom/console/tests/xpcshell/test_basic.js @@ -0,0 +1,31 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); + +add_task(async function() { + Assert.ok("console" in this); + + let p = new Promise(resolve => { + function consoleListener() { + Services.obs.addObserver(this, "console-api-log-event"); + } + + consoleListener.prototype = { + observe(aSubject, aTopic, aData) { + let obj = aSubject.wrappedJSObject; + Assert.ok(obj.arguments[0] === 42, "Message received!"); + Assert.ok(obj.ID === "jsm", "The ID is JSM"); + Assert.ok(obj.innerID.endsWith("test_basic.js"), "The innerID matches"); + + Services.obs.removeObserver(this, "console-api-log-event"); + resolve(); + }, + }; + + new consoleListener(); + }); + + console.log(42); + await p; +}); |