blob: ee44dfea27777d482ea7fbaa61bcd385910286cb [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
<script>
function triggerProgramScript() {
let script = document.createElement("script");
script.src = "resources/program.js";
document.body.appendChild(script);
}
function triggerModuleScript() {
let script = document.createElement("script");
script.type = "module";
script.src = "resources/module.js";
document.body.appendChild(script);
}
function test()
{
let suite = InspectorTest.createAsyncSuite("WI.Script.SourceType");
suite.addTestCase({
name: "WI.Script.SourceType.Program",
description: "Normal <script src> should be Program.",
test(resolve, reject) {
InspectorTest.evaluateInPage("triggerProgramScript()");
let listener = WI.debuggerManager.addEventListener(WI.DebuggerManager.Event.ScriptAdded, (event) => {
let script = event.data.script;
if (!/program.js$/.test(script.url))
return;
WI.debuggerManager.removeEventListener(WI.DebuggerManager.Event.ScriptAdded, listener);
InspectorTest.expectEqual(script.sourceType, WI.Script.SourceType.Program, `<script> should be SourceType.Program.`);
resolve();
});
}
});
suite.addTestCase({
name: "WI.Script.SourceType.Module",
description: "Module <script type=module> should be Module.",
test(resolve, reject) {
InspectorTest.evaluateInPage("triggerModuleScript()");
let listener = WI.debuggerManager.addEventListener(WI.DebuggerManager.Event.ScriptAdded, (event) => {
let script = event.data.script;
if (!/module.js$/.test(script.url))
return;
if (/other-module.js$/.test(script.url)) {
InspectorTest.expectEqual(script.sourceType, WI.Script.SourceType.Module, `imported module should be SourceType.Module.`);
return;
}
WI.debuggerManager.removeEventListener(WI.DebuggerManager.Event.ScriptAdded, listener);
InspectorTest.expectEqual(script.sourceType, WI.Script.SourceType.Module, `<script type="module"> should be SourceType.Module.`);
resolve();
});
}
});
suite.runTestCasesAndFinish();
}
</script>
</head>
<body onload="runTest()">
<p>Tests for WI.Script.SourceType.</p>
</body>
</html>