3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/debugger-test.js"></script>
6 function keepAliveInInlineScript() { }
8 //# sourceURL=inlineScriptURL.js
13 eval("function keepAlive() {}\n//# sourceURL=evalURL.js");
16 function doDeprecatedEval()
18 eval("function keepAlive() {}\n//@ sourceURL=deprecatedEvalURL.js");
21 function doEvalWithNonRelativeURL()
23 eval("function relativeURLScript() {}\n//# sourceURL=/js/nonRelativeURL.js");
26 function doDynamicScript()
28 var scriptElement = document.createElement("script");
29 scriptElement.textContent = "function keepAliveInDynamicScript() {}\n//# sourceURL=dynamicScriptURL.js";
30 document.body.appendChild(scriptElement);
33 function doURLAndMappingURL()
35 eval("function keepAlive() {}\n//# sourceMappingURL=sourceMappingURL.map\n//# sourceURL=sourceURL.js");
38 function addScriptWithURL()
40 var script = document.createElement("script");
41 script.src = "resources/script-with-url.js";
42 document.head.appendChild(script);
45 function addScriptWithPoorURL()
47 var script = document.createElement("script");
48 script.src = "resources/script-with-poor-url.js";
49 document.head.appendChild(script);
55 function forEachScriptMatchingURL(url, handler)
57 var scripts = WebInspector.debuggerModel._scripts;
58 for (var id in scripts) {
59 if (scripts[id].sourceURL.indexOf(url) !== -1)
64 InspectorTest.runDebuggerTestSuite([
65 function testSourceURLCommentInInlineScript(next)
67 InspectorTest.showScriptSource("source-url-comment.html", didShowScriptSource);
69 function didShowScriptSource(sourceFrame)
71 var panel = WebInspector.inspectorView.panel("sources");
72 var uiSourceCodes = panel._workspace.uiSourceCodes();
73 for (var i = 0; i < uiSourceCodes.length; ++i) {
74 if (uiSourceCodes[i].originURL().indexOf("inlineScriptURL.js") !== -1)
75 InspectorTest.addResult("FAILED: sourceURL comment in inline script was used as a script name");
81 function testSourceURLCommentInScript(next)
83 InspectorTest.showScriptSource("scriptWithSourceURL.js", didShowScriptSource);
84 InspectorTest.evaluateInPage("setTimeout(addScriptWithURL, 0)");
86 function didShowScriptSource(sourceFrame)
88 InspectorTest.addResult(sourceFrame.textEditor.text().trim());
89 forEachScriptMatchingURL("scriptWithSourceURL.js", checkScriptSourceURL);
94 function testPoorSourceURLCommentInScript(next)
96 InspectorTest.showScriptSource("source-url-comment.html", didShowScriptSource);
97 InspectorTest.evaluateInPage("setTimeout(addScriptWithPoorURL, 0)");
99 function didShowScriptSource(sourceFrame)
101 var panel = WebInspector.inspectorView.panel("sources");
102 var uiSourceCodes = panel._workspace.uiSourceCodes();
103 for (var i = 0; i < uiSourceCodes.length; ++i) {
104 if (uiSourceCodes[i].originURL().indexOf("scriptWithPoorSourceURL.js") !== -1)
105 InspectorTest.addResult("FAILED: poor sourceURL comment in script was used as a script name");
111 function testSourceURLComment(next)
113 InspectorTest.showScriptSource("evalURL.js", didShowScriptSource);
114 InspectorTest.evaluateInPage("setTimeout(doEval, 0)");
116 function didShowScriptSource(sourceFrame)
118 InspectorTest.addResult(sourceFrame.textEditor.text());
119 forEachScriptMatchingURL("evalURL.js", checkScriptSourceURL);
124 function testDeprecatedSourceURLComment(next)
126 InspectorTest.showScriptSource("deprecatedEvalURL.js", didShowScriptSource);
127 InspectorTest.evaluateInPage("setTimeout(doDeprecatedEval, 0)");
129 function didShowScriptSource(sourceFrame)
131 InspectorTest.addResult(sourceFrame.textEditor.text());
132 forEachScriptMatchingURL("deprecatedEvalURL.js", checkScriptSourceURL);
137 function testSourceURLAndMappingURLComment(next)
139 InspectorTest.showScriptSource("sourceURL.js", didShowScriptSource);
140 InspectorTest.evaluateInPage("setTimeout(doURLAndMappingURL, 0)");
142 function didShowScriptSource(sourceFrame)
144 function checkScriptSourceURLAndMappingURL(script)
146 InspectorTest.addResult("hasSourceURL: " + script.hasSourceURL);
147 InspectorTest.addResult("sourceMapURL: " + script.sourceMapURL);
150 InspectorTest.addResult(sourceFrame.textEditor.text());
151 forEachScriptMatchingURL("sourceURL.js", checkScriptSourceURLAndMappingURL);
156 function testSourceURLCommentInDynamicScript(next)
158 InspectorTest.showScriptSource("dynamicScriptURL.js", didShowScriptSource);
159 InspectorTest.evaluateInPage("setTimeout(doDynamicScript, 0)");
161 function didShowScriptSource(sourceFrame)
163 InspectorTest.addResult(sourceFrame.textEditor.text());
164 forEachScriptMatchingURL("dynamicScriptURL.js", checkScriptSourceURL);
169 function testNonRelativeURL(next)
171 InspectorTest.showScriptSource("/js/nonRelativeURL.js", didShowScriptSource);
172 InspectorTest.evaluateInPage("setTimeout(doEvalWithNonRelativeURL, 0)");
174 function didShowScriptSource(sourceFrame)
176 InspectorTest.addResult(sourceFrame.textEditor.text());
177 forEachScriptMatchingURL("nonRelativeURL.js", checkScriptSourceURL);
183 function checkScriptSourceURL(script)
185 InspectorTest.addResult("hasSourceURL: " + script.hasSourceURL);
193 <body onload="runTest()">
194 <p>Tests that evals with sourceURL comment are shown in scripts panel.</p>