fune/dom/console/tests/xpcshell/test_basic.js

31 lines
861 B
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
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;
});