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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Test for console.group styling with %c</title>
<script 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 attachConsole(["ConsoleAPI"])).state
const consoleFront = state.webConsoleFront;
await testSingleCustomStyleGroup(consoleFront);
await testSingleCustomStyleGroupCollapsed(consoleFront);
await testMultipleCustomStyleGroup(consoleFront);
await testMultipleCustomStyleGroupCollapsed(consoleFront);
await testFormatterWithNoStyleGroup(consoleFront);
await testFormatterWithNoStyleGroupCollapsed(consoleFront);
} catch (e) {
ok(false, `Error thrown: ${e.message}`);
}
await closeDebugger(state);
SimpleTest.finish();
};
async function testSingleCustomStyleGroup(consoleFront) {
info("Testing console.group with a custom style");
const packet = await consoleAPICall(
consoleFront,
() => top.console.group("%cfoobar", "color:red")
);
checkConsoleAPICall(packet.message, {
arguments: ["foobar"],
styles: ["color:red"]
});
}
async function testSingleCustomStyleGroupCollapsed(consoleFront) {
info("Testing console.groupCollapsed with a custom style");
const packet = await consoleAPICall(
consoleFront,
() => top.console.groupCollapsed("%cfoobaz", "color:blue")
);
checkConsoleAPICall(packet.message, {
arguments: ["foobaz"],
styles: ["color:blue"]
});
}
async function testMultipleCustomStyleGroup(consoleFront) {
info("Testing console.group with multiple custom styles");
const packet = await consoleAPICall(
consoleFront,
() => top.console.group("%cfoo%cbar", "color:red", "color:blue")
);
checkConsoleAPICall(packet.message, {
arguments: ["foo", "bar"],
styles: ["color:red", "color:blue"]
});
}
async function testMultipleCustomStyleGroupCollapsed(consoleFront) {
info("Testing console.groupCollapsed with multiple custom styles");
const packet = await consoleAPICall(
consoleFront,
() => top.console.group("%cfoo%cbaz", "color:red", "color:green")
);
checkConsoleAPICall(packet.message, {
arguments: ["foo", "baz"],
styles: ["color:red", "color:green"]
});
}
async function testFormatterWithNoStyleGroup(consoleFront) {
info("Testing console.group with one formatter but no style");
const packet = await consoleAPICall(
consoleFront,
() => top.console.group("%cfoobar")
);
checkConsoleAPICall(packet.message, {
arguments: ["%cfoobar"],
});
is(packet.message.styles, undefined, "No 'styles' property");
}
async function testFormatterWithNoStyleGroupCollapsed(consoleFront) {
info("Testing console.groupCollapsed with one formatter but no style");
const packet = await consoleAPICall(
consoleFront,
() => top.console.groupCollapsed("%cfoobaz")
);
checkConsoleAPICall(packet.message, {
arguments: ["%cfoobaz"],
});
is(packet.message.styles, undefined, "No 'styles' property");
}
</script>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
</html>
|