blob: 00fb253a4cdf709f2a37e5ae058e07e77906a99f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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;
});
|