66 lines
2.3 KiB
HTML
66 lines
2.3 KiB
HTML
<style>code{background-color: #ffc;}</style>
|
|
<p><b>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=31375">Bug 31375</a> - Web Inspector: breakpoints in named evals are not restored after a reload</b>
|
|
|
|
<ul>
|
|
<li><p>open this page with Web Inspector
|
|
<li><p>switch to the Scripts panel, enabling debug if required
|
|
<li><p>the available scripts in the select element should be:
|
|
<ul>
|
|
<li>(program): f1.js
|
|
<li>(program): f2.js
|
|
<li>bp-in-named-eval-after-reload.html
|
|
</ul>
|
|
<li><p>In <code>(program) f1.js</code>, set a breakpoint on the first
|
|
executable line of the function <code>f1()</code>, the invocation of <code>doNothing()</code>.
|
|
<li><p>In <code>(program) f2.js</code>, set a breakpoint on the first
|
|
executable line of the function <code>f2()</code>, the invocation of <code>doNothing()</code>.
|
|
<li><p>click this button: <input id=button type=button value="click me">
|
|
<li><p>debugger should stop in the <code>f1()</code> function.
|
|
<li><p>resume the debugger
|
|
<li><p>debugger should stop in the <code>f2()</code> function (the function in <code>(program) f2.js</code>)
|
|
<li><p>resume the debugger
|
|
<li><p>switch to the web page, reload the web page, switch back to web inspector
|
|
<li><p>in the breakpoints sidebar panel, click on the two breakpoints listed
|
|
and the source for those functions should be shown in the source panel, and
|
|
the previous breakpoint markers should be visible
|
|
<li><p>click the "click me" button above, again
|
|
<li><p>debugger should stop in the <code>f1()</code> function.
|
|
<li><p>resume the debugger
|
|
<li><p>debugger should stop in the <code>f2()</code> function.
|
|
<li><p>resume the debugger
|
|
</ul>
|
|
|
|
<p>Note that without the fix in <a href="https://bugs.webkit.org/show_bug.cgi?id=31375">Bug 31375</a>,
|
|
the breakpoints won't work after reloading the page.
|
|
|
|
<script>
|
|
|
|
function doNothing() { /* allows multi-line functions, easier to debug */ };
|
|
|
|
eval([
|
|
"function f1() {",
|
|
" doNothing();",
|
|
" console.log(new Date() + ': f1() called');",
|
|
"}",
|
|
"//@sourceURL=f1.js"
|
|
].join("\n"));
|
|
|
|
f2 = Function([
|
|
"",
|
|
" doNothing();",
|
|
" console.log(new Date() + ': f2() called');",
|
|
"//@sourceURL=f2.js"
|
|
].join("\n"));
|
|
|
|
var button = document.getElementById("button");
|
|
|
|
button.addEventListener("click", clickHandler, false);
|
|
|
|
function clickHandler() {
|
|
f1();
|
|
f2();
|
|
}
|
|
|
|
</script>
|
|
<!-- End -->
|