| <!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> |