Files
sousa-gecko/devtools/shared/webconsole/test/test_console_assert.html
T
Nicolas Chevobbe e787d481ba Bug 1405243 - Extract consoleAPICall helper function in common.js; r=bgrins.
The function was used through multiple tests so it makes sense
to have it in common.js.
We take this as an opportunity to unify the style of the tests, and
to make closeDebugger return a Promise.

MozReview-Commit-ID: 7y8dMNErYZp
2018-03-19 18:09:41 +01:00

108 lines
2.7 KiB
HTML

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Test for console.group styling with %c</title>
<script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="common.js"></script>
<!-- Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ -->
<script>
"use strict";
window.onload = async function () {
SimpleTest.waitForExplicitFinish();
let state;
try {
state = await new Promise(resolve =>
attachConsole(["ConsoleAPI"], resolve)
);
const {dbgClient} = state;
await testFalseAssert(dbgClient);
await testFalsyAssert(dbgClient);
await testUndefinedAssert(dbgClient);
await testNullAssert(dbgClient);
await testTrueAssert(dbgClient);
} catch (e) {
ok(false, `Error thrown: ${e.message}`);
}
await closeDebugger(state);
SimpleTest.finish();
};
async function testFalseAssert(debuggerClient) {
info(`Testing console.assert(false)`);
const packet = await consoleAPICall(
debuggerClient,
() => top.console.assert(false, "assertion is false")
);
checkConsoleAPICall(packet.message, {
arguments: ["assertion is false"]
});
}
async function testFalsyAssert(debuggerClient) {
info(`Testing console.assert(0")`);
const packet = await consoleAPICall(
debuggerClient,
() => top.console.assert(0, "assertion is false")
);
checkConsoleAPICall(packet.message, {
arguments: ["assertion is false"]
});
}
async function testUndefinedAssert(debuggerClient) {
info(`Testing console.assert(undefined)`);
const packet = await consoleAPICall(
debuggerClient,
() => top.console.assert(undefined, "assertion is false")
);
checkConsoleAPICall(packet.message, {
arguments: ["assertion is false"]
});
}
async function testNullAssert(debuggerClient) {
info(`Testing console.assert(null)`);
const packet = await consoleAPICall(
debuggerClient,
() => top.console.assert(null, "assertion is false")
);
checkConsoleAPICall(packet.message, {
arguments: ["assertion is false"]
});
}
async function testTrueAssert(debuggerClient) {
info(`Testing console.assert(true)`);
const onConsoleApiCall = consoleAPICall(
debuggerClient,
() => top.console.assert(true, "assertion is false")
);
const TIMEOUT = Symbol();
const onTimeout = new Promise(resolve => setTimeout(() => resolve(TIMEOUT), 1000));
const res = await Promise.race([onConsoleApiCall, onTimeout]);
is(res, TIMEOUT,
"There was no consoleAPICall event in response to a truthy console.assert");
}
</script>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
</html>