blob: 4f057a8ca39544d021ccf19bf721cd005c47c4de [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
<script>
function triggerCountNoArguments() {
for (let i = 0; i < 10; ++i) {
console.count();
if (i % 2)
console.count();
}
}
function triggerLabeledCounters() {
for (let i = 0; i < 10; ++i) {
console.count("alpha");
if (i % 2) {
console.count("beta");
console.count("alpha");
}
}
}
function triggerConsoleResetWarnings() {
console.countReset("missing-label-1");
console.countReset("missing-label-2");
}
function triggerConsoleResetBasic() {
for (let i = 1; i <= 10; ++i) {
console.count("reset-label");
if (i === 6 || i === 8)
console.countReset("reset-label");
}
}
function test()
{
let suite = InspectorTest.createAsyncSuite("console.count");
suite.addTestCase({
name: "console.count.NoArguments",
description: "No arguments uses the default label.",
test(resolve, reject) {
let seen = 0;
const expected = 16;
WI.consoleManager.addEventListener(WI.ConsoleManager.Event.MessageAdded, handler);
function handler(event) {
let message = event.data.message;
InspectorTest.log(message.messageText);
if (++seen === expected) {
WI.consoleManager.removeEventListener(WI.ConsoleManager.Event.MessageAdded, handler);
resolve();
}
}
InspectorTest.evaluateInPage(`triggerCountNoArguments()`); // 15
InspectorTest.evaluateInPage(`console.count("default")`); // 16
}
});
suite.addTestCase({
name: "console.count.WithLabel",
description: "Labeled counters increment the label.",
test(resolve, reject) {
let seen = 0;
const expected = 20;
WI.consoleManager.addEventListener(WI.ConsoleManager.Event.MessageAdded, handler);
function handler(event) {
let message = event.data.message;
InspectorTest.log(message.messageText);
if (++seen === expected) {
WI.consoleManager.removeEventListener(WI.ConsoleManager.Event.MessageAdded, handler);
resolve();
}
}
InspectorTest.evaluateInPage(`triggerLabeledCounters()`);
}
});
suite.addTestCase({
name: "console.countReset.NoCounter",
description: "A reset of a non-existing counter should warn.",
test(resolve, reject) {
let seen = 0;
const expected = 2;
WI.consoleManager.addEventListener(WI.ConsoleManager.Event.MessageAdded, handler);
function handler(event) {
let message = event.data.message;
InspectorTest.expectEqual(message.level, WI.ConsoleMessage.MessageLevel.Warning, "Should produce a warning console message.");
InspectorTest.log(message.messageText);
if (++seen === expected) {
WI.consoleManager.removeEventListener(WI.ConsoleManager.Event.MessageAdded, handler);
resolve();
}
}
InspectorTest.evaluateInPage(`triggerConsoleResetWarnings()`);
}
});
suite.addTestCase({
name: "console.countReset.Basic",
description: "A reset of a non-existing counter should warn.",
test(resolve, reject) {
let seen = 0;
const expected = 10;
WI.consoleManager.addEventListener(WI.ConsoleManager.Event.MessageAdded, handler);
function handler(event) {
let message = event.data.message;
InspectorTest.log(message.messageText);
if (++seen === expected) {
WI.consoleManager.removeEventListener(WI.ConsoleManager.Event.MessageAdded, handler);
resolve();
}
}
InspectorTest.evaluateInPage(`triggerConsoleResetBasic()`);
}
});
suite.runTestCasesAndFinish();
}
</script>
</head>
<body onload="runTest()">
<p>Tests for the console.count and console.countReset APIs.</p>
</body>
</html>