5 <title>Test for count/countReset in console
</title>
6 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
7 <script src=
"head.js"></script>
8 <link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css"/>
11 <script type=
"application/javascript">
13 SimpleTest.waitForExplicitFinish();
15 function ConsoleListener() {
16 addConsoleStorageListener(this);
19 ConsoleListener.prototype = {
21 let obj = aSubject.wrappedJSObject;
22 if (obj.arguments[
0] !=
"test") {
27 ok(false,
"Callback not set!");
40 removeConsoleStorageListener(this);
44 return new Promise(resolve =
> {
45 this._cb = SpecialPowers.wrapCallback(cb);
46 this._resolve = resolve;
51 let listener = new ConsoleListener();
53 async function runTest() {
55 let cl = listener.waitFor(obj =
> {
56 return (
"counter" in obj) &&
57 (
"label" in obj.counter) &&
58 obj.counter.label ==
"test" &&
59 obj.counter.count ==
1;
61 console.count(
"test");
63 ok(true,
"Console.count == 1 received!");
66 cl = listener.waitFor(obj =
> {
67 return (
"counter" in obj) &&
68 (
"label" in obj.counter) &&
69 obj.counter.label ==
"test" &&
70 obj.counter.count ==
2;
72 console.count(
"test");
74 ok(true,
"Console.count == 2 received!");
77 cl = listener.waitFor(obj =
> {
78 return (
"counter" in obj) &&
79 (
"label" in obj.counter) &&
80 obj.counter.label ==
"test" &&
81 obj.counter.count ==
0;
83 console.countReset(
"test");
85 ok(true,
"Console.countReset == 0 received!");
87 // Counter reset with error.
88 cl = listener.waitFor(obj =
> {
89 return (
"counter" in obj) &&
90 (
"label" in obj.counter) &&
91 obj.counter.label ==
"test" &&
92 obj.counter.error ==
"counterDoesntExist";
94 console.countReset(
"test");
96 ok(true,
"Console.countReset with error received!");
99 cl = listener.waitFor(obj =
> {
100 return (
"counter" in obj) &&
101 (
"label" in obj.counter) &&
102 obj.counter.label ==
"test" &&
103 obj.counter.count ==
1;
105 console.count(
"test");
107 ok(true,
"Console.count == 1 received!");
110 runTest().then(() =
> {