blob: e3d954b96cb252a3ec01e14c8830c2edbebc3128 [file] [log] [blame] [edit]
<!DOCTYPE html>
<html>
<head>
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
<script>
function test()
{
let suite = InspectorTest.createAsyncSuite("Console.setConsoleClearAPIEnabled");
suite.addTestCase({
name: "Console.setConsoleClearAPIEnabled.API.Disabled",
description: "Check that console.clear() doesn't clear the console when disallowed.",
async test() {
await ConsoleAgent.setConsoleClearAPIEnabled(false);
let cleared = false;
let clearedListener = WI.consoleManager.addEventListener(WI.ConsoleManager.Event.Cleared, (event) => {
cleared = true;
});
let [messageAddedEvent] = await Promise.all([
WI.consoleManager.awaitEvent(WI.ConsoleManager.Event.MessageAdded),
InspectorTest.evaluateInPage(`console.clear(); console.log("Clear disabled.");`),
]);
InspectorTest.expectFalse(cleared, "Should not clear console.");
InspectorTest.expectEqual(messageAddedEvent.data.message.messageText, "Clear disabled.", "Should not send a message.");
WI.consoleManager.removeEventListener(WI.ConsoleManager.Event.Cleared, clearedListener);
},
});
suite.addTestCase({
name: "Console.setConsoleClearAPIEnabled.API.Enabled",
description: "Check that console.clear() does clear the console when allowed.",
async test() {
await ConsoleAgent.setConsoleClearAPIEnabled(true);
let cleared = false;
let clearedListener = WI.consoleManager.addEventListener(WI.ConsoleManager.Event.Cleared, (event) => {
cleared = true;
});
let [messageAddedEvent] = await Promise.all([
WI.consoleManager.awaitEvent(WI.ConsoleManager.Event.MessageAdded),
InspectorTest.evaluateInPage(`console.clear(); console.log("Clear enabled.");`),
]);
InspectorTest.expectTrue(cleared, "Should clear console.");
InspectorTest.expectEqual(messageAddedEvent.data.message.messageText, "Clear enabled.", "Should not send a message.");
WI.consoleManager.removeEventListener(WI.ConsoleManager.Event.Cleared, clearedListener);
},
});
suite.addTestCase({
name: "Console.setConsoleClearAPIEnabled.Frontend.Disabled",
description: "Check that the frontend can still clear the console when console.clear() is disallowed.",
async test() {
await ConsoleAgent.setConsoleClearAPIEnabled(false);
let messageAdded = false;
let messageAddedListener = WI.consoleManager.addEventListener(WI.ConsoleManager.Event.MessageAdded, (event) => {
messageAdded = true;
});
WI.consoleManager.requestClearMessages();
await WI.consoleManager.awaitEvent(WI.ConsoleManager.Event.Cleared);
InspectorTest.pass("Should clear console.");
InspectorTest.expectFalse(messageAdded, "Should not send a message.");
WI.consoleManager.removeEventListener(WI.ConsoleManager.Event.MessageAdded, messageAddedListener);
},
});
suite.addTestCase({
name: "Console.setConsoleClearAPIEnabled.Frontend.Enabled",
description: "Check that the frontend can still clear the console when console.clear() is allowed.",
async test() {
await ConsoleAgent.setConsoleClearAPIEnabled(true);
let messageAdded = false;
let messageAddedListener = WI.consoleManager.addEventListener(WI.ConsoleManager.Event.MessageAdded, (event) => {
messageAdded = true;
});
WI.consoleManager.requestClearMessages();
await WI.consoleManager.awaitEvent(WI.ConsoleManager.Event.Cleared);
InspectorTest.pass("Should clear console.");
InspectorTest.expectFalse(messageAdded, "Should not send a message.");
WI.consoleManager.removeEventListener(WI.ConsoleManager.Event.MessageAdded, messageAddedListener);
},
});
suite.runTestCasesAndFinish();
}
</script>
</head>
<body onload="runTest()">
<p>Tests for Console.setConsoleClearAPIEnabled.</p>
</body>
</html>