5 <title>Test for timeStart/timeLog/timeEnd 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 var reduceTimePrecisionPrevPrefValue = SpecialPowers.getBoolPref(
"privacy.reduceTimerPrecision");
16 SpecialPowers.setBoolPref(
"privacy.reduceTimerPrecision", false);
18 function ConsoleListener() {
19 addConsoleStorageListener(this);
22 ConsoleListener.prototype = {
24 let obj = aSubject.wrappedJSObject;
25 if (obj.arguments[
0] !=
"test_bug1463614") {
29 if (!this._cb || !this._cb(obj)) {
38 removeConsoleStorageListener(this);
42 return new Promise(resolve =
> {
43 this._cb = SpecialPowers.wrapCallback(cb);
44 this._resolve = resolve;
49 let listener = new ConsoleListener();
52 async function runTest() {
53 let cl = listener.waitFor(obj =
> {
54 return (
"timer" in obj) &&
55 (
"name" in obj.timer) &&
56 obj.timer.name ==
"test_bug1463614";
59 console.time(
"test_bug1463614");
61 ok(true,
"Console.time received!");
64 cl = listener.waitFor(obj =
> {
65 return (
"timer" in obj) &&
66 (
"name" in obj.timer) &&
67 obj.timer.name ==
"test_bug1463614" &&
68 (
"duration" in obj.timer) &&
69 obj.timer.duration
>=
0 &&
70 obj.arguments[
1] ==
1 &&
71 obj.arguments[
2] ==
2 &&
72 obj.arguments[
3] ==
3 &&
73 obj.arguments[
4] ==
4;
75 console.timeLog(
"test_bug1463614",
1,
2,
3,
4);
77 ok(true,
"Console.timeLog received!");
80 cl = listener.waitFor(obj =
> {
81 return (
"timer" in obj) &&
82 (
"name" in obj.timer) &&
83 obj.timer.name ==
"test_bug1463614" &&
84 (
"duration" in obj.timer) &&
85 obj.timer.duration
>=
0;
87 console.timeEnd(
"test_bug1463614");
89 ok(true,
"Console.timeEnd received!");
92 cl = listener.waitFor(obj =
> {
93 return (
"timer" in obj) &&
94 (
"name" in obj.timer) &&
95 obj.timer.name ==
"test_bug1463614" &&
96 (
"error" in obj.timer);
98 console.timeLog(
"test_bug1463614");
100 ok(true,
"Console.time with error received!");
103 runTest().then(() =
> {
106 SpecialPowers.setBoolPref(
"privacy.reduceTimerPrecision", reduceTimePrecisionPrevPrefValue);