blob: c5a0e653babf085f6292619e26f0134a4ee3c9f5 [file] [log] [blame]
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/debugger-test.js"></script>
<script>
function sendRequest(url)
{
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.send()
}
function test()
{
WebInspector.showPanel("scripts");
var pane = WebInspector.panels.scripts.sidebarPanes.xhrBreakpoints;
InspectorTest.runDebuggerTestSuite([
function testXHRBreakpoint(next)
{
pane._setBreakpoint("foo", true);
InspectorTest.waitUntilPaused(step1);
InspectorTest.evaluateInPageWithTimeout("sendRequest('/foo?a=b')");
function step1(callFrames)
{
InspectorTest.captureStackTrace(callFrames);
InspectorTest.resumeExecution(step2);
}
function step2()
{
InspectorTest.evaluateInPage("sendRequest('/bar?a=b')", step3);
}
function step3()
{
pane._removeBreakpoint("foo");
InspectorTest.evaluateInPage("sendRequest('/foo?a=b')", next);
}
},
function testPauseOnAnyXHR(next)
{
pane._setBreakpoint("", true);
InspectorTest.waitUntilPaused(pausedFoo);
InspectorTest.evaluateInPageWithTimeout("sendRequest('/foo?a=b')");
function pausedFoo(callFrames)
{
function resumed()
{
InspectorTest.waitUntilPaused(pausedBar);
InspectorTest.evaluateInPage("sendRequest('/bar?a=b')");
}
InspectorTest.resumeExecution(resumed);
}
function pausedBar(callFrames)
{
function resumed()
{
pane._removeBreakpoint("");
InspectorTest.evaluateInPage("sendRequest('/baz?a=b')", next);
}
InspectorTest.resumeExecution(resumed);
}
},
function testDisableBreakpoint(next)
{
pane._setBreakpoint("", true);
InspectorTest.waitUntilPaused(paused);
InspectorTest.evaluateInPage("sendRequest('/foo')");
function paused(callFrames)
{
function resumed()
{
pane._breakpointElements[""]._checkboxElement.click();
InspectorTest.waitUntilPaused(pausedAgain);
InspectorTest.evaluateInPage("sendRequest('/foo')", next);
}
InspectorTest.resumeExecution(resumed);
}
function pausedAgain(callFrames)
{
InspectorTest.addResult("Fail, paused again after breakpoint was removed.");
next();
}
}
]);
}
</script>
</head>
<body onload="runTest()">
<p>
Tests XHR breakpoints.
</p>
</body>
</html>