Index: LayoutTests/inspector/sources/debugger/debugger-step-into-across-timeouts.html |
diff --git a/LayoutTests/inspector/sources/debugger/debugger-step-into-across-timeouts.html b/LayoutTests/inspector/sources/debugger/debugger-step-into-across-timeouts.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2b1fb78587428a7c4d4648ba2449e95c3c75d99e |
--- /dev/null |
+++ b/LayoutTests/inspector/sources/debugger/debugger-step-into-across-timeouts.html |
@@ -0,0 +1,61 @@ |
+<html> |
+<head> |
+<script src="../../../http/tests/inspector/inspector-test.js"></script> |
+<script src="../../../http/tests/inspector/debugger-test.js"></script> |
+<script> |
+ |
+function testFunction() |
+{ |
+ setTimeout(callback1, 0); |
+} |
+ |
+function callback1() |
+{ |
+ setTimeout(callback2, 0); |
+ debugger; |
+} |
+ |
+function callback2() |
+{ |
+ var dummy = 42; // Should pause here. |
+ (function FAIL_Should_Not_Pause_Here() { debugger; })(); |
+ |
+ if (window.testRunner) |
+ testRunner.evaluateInWebInspector(0, "(InspectorTest.completeDebuggerTest())") |
+} |
+ |
+var test = function() |
+{ |
+ InspectorTest.startDebuggerTest(step1, true); |
+ |
+ function step1() |
+ { |
+ InspectorTest.runTestFunctionAndWaitUntilPaused(step2); |
+ } |
+ |
+ function step2() |
+ { |
+ var actions = [ |
+ "Print", // "debugger" in callback1 |
+ "StepInto", |
+ "StepInto", |
+ "Print", |
+ ]; |
+ InspectorTest.waitUntilPausedAndPerformSteppingActions(actions, resume); |
+ } |
+ |
+ function resume() |
+ { |
+ InspectorTest.resumeExecution(InspectorTest.waitUntilPaused.bind(InspectorTest, resume)); |
+ } |
+} |
+ |
+</script> |
+</head> |
+ |
+<body onload="runTest()"> |
+<p> |
+Tests that debugger StepInto will stop inside next timeout handler. |
+</p> |
+</body> |
+</html> |