mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-12 06:08:24 +02:00
This is split from the previous changeset since if we include dom/ the file size is too large for phabricator to handle. This is an autogenerated commit to handle scripts loading mochitest harness files, in the simple case where the script src is on the same line as the tag. This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170 using the `--part 2` argument. Differential Revision: https://phabricator.services.mozilla.com/D27457 --HG-- extra : moz-landing-system : lando
111 lines
2.7 KiB
HTML
111 lines
2.7 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Test for timeStart/timeLog/timeEnd in console</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
</head>
|
|
<body>
|
|
<script type="application/javascript">
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var reduceTimePrecisionPrevPrefValue = SpecialPowers.getBoolPref("privacy.reduceTimerPrecision");
|
|
SpecialPowers.setBoolPref("privacy.reduceTimerPrecision", false);
|
|
|
|
function ConsoleListener() {
|
|
SpecialPowers.addObserver(this, "console-api-log-event");
|
|
}
|
|
|
|
ConsoleListener.prototype = {
|
|
observe(aSubject, aTopic, aData) {
|
|
let obj = aSubject.wrappedJSObject;
|
|
if (obj.arguments[0] != "test_bug1463614") {
|
|
return;
|
|
}
|
|
|
|
if (!this._cb || !this._cb(obj)) {
|
|
return;
|
|
}
|
|
|
|
this._cb = null;
|
|
this._resolve();
|
|
},
|
|
|
|
shutdown() {
|
|
SpecialPowers.removeObserver(this, "console-api-log-event");
|
|
},
|
|
|
|
waitFor(cb) {
|
|
return new Promise(resolve => {
|
|
this._cb = cb;
|
|
this._resolve = resolve;
|
|
});
|
|
},
|
|
};
|
|
|
|
let listener = new ConsoleListener();
|
|
|
|
// Timer creation:
|
|
async function runTest() {
|
|
let cl = listener.waitFor(obj => {
|
|
return ("timer" in obj) &&
|
|
("name" in obj.timer) &&
|
|
obj.timer.name == "test_bug1463614";
|
|
});
|
|
|
|
console.time("test_bug1463614");
|
|
await cl;
|
|
ok(true, "Console.time received!");
|
|
|
|
// Timer check:
|
|
cl = listener.waitFor(obj => {
|
|
return ("timer" in obj) &&
|
|
("name" in obj.timer) &&
|
|
obj.timer.name == "test_bug1463614" &&
|
|
("duration" in obj.timer) &&
|
|
obj.timer.duration >= 0 &&
|
|
obj.arguments[1] == 1 &&
|
|
obj.arguments[2] == 2 &&
|
|
obj.arguments[3] == 3 &&
|
|
obj.arguments[4] == 4;
|
|
});
|
|
console.timeLog("test_bug1463614", 1, 2, 3, 4);
|
|
await cl;
|
|
ok(true, "Console.timeLog received!");
|
|
|
|
// Time deleted:
|
|
cl = listener.waitFor(obj => {
|
|
return ("timer" in obj) &&
|
|
("name" in obj.timer) &&
|
|
obj.timer.name == "test_bug1463614" &&
|
|
("duration" in obj.timer) &&
|
|
obj.timer.duration >= 0;
|
|
});
|
|
console.timeEnd("test_bug1463614");
|
|
await cl;
|
|
ok(true, "Console.timeEnd received!");
|
|
|
|
// Here an error:
|
|
cl = listener.waitFor(obj => {
|
|
return ("timer" in obj) &&
|
|
("name" in obj.timer) &&
|
|
obj.timer.name == "test_bug1463614" &&
|
|
("error" in obj.timer);
|
|
});
|
|
console.timeLog("test_bug1463614");
|
|
await cl;
|
|
ok(true, "Console.time with error received!");
|
|
}
|
|
|
|
runTest().then(() => {
|
|
listener.shutdown();
|
|
|
|
SpecialPowers.setBoolPref("privacy.reduceTimerPrecision", reduceTimePrecisionPrevPrefValue);
|
|
SimpleTest.finish();
|
|
});
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|