3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/debugger-test.js"></script>
5 <script src="resources/framework.js"></script>
8 function testFunction()
11 Framework.safeRun(function callback1() {
12 Framework.safeRun(Framework.empty, callback2);
18 Framework.safeRun(Framework.empty, Framework.empty); // Should be skipped: all callbacks are inside frameworks.
19 Framework.safeRun(Framework.empty, Framework.throwFrameworkException, callback3); // Should be enough to step into callback3
24 var func = Framework.bind(callback4, null, 1);
25 func = Framework.bind(func, null, 2);
26 func = Framework.bind(func, null, 3);
27 Framework.safeRun(func, Framework.doSomeWork);
32 Framework.safeRun(Framework.doSomeWork, function() {
33 return 0; // Should NOT step into this callback (otherwise too many StepIns)
36 Framework.throwFrameworkException("message");
44 var frameworkRegexString = "/framework\\.js$";
45 WebInspector.settings.skipStackFramesPattern.set(frameworkRegexString);
47 InspectorTest.setQuiet(true);
48 InspectorTest.startDebuggerTest(step1);
52 InspectorTest.runTestFunctionAndWaitUntilPaused(step2);
59 "StepInto", "StepInto", "Print", // callback1
60 "StepInto", "Print", // callback2
61 "StepInto", "Print", // callback2, skipped
62 "StepInto", "Print", // callback3
63 "StepInto", "StepInto", "StepInto", "StepInto", "Print", // callback4
64 "StepInto", "Print", // callback4, skipped
65 "StepInto", "Print", // callback4, inside catch
66 "StepOut", "Print", // return to callback3
67 "StepOver", "Print", // return to callback2
68 "StepInto", "Print", // return to callback1
70 InspectorTest.waitUntilPausedAndPerformSteppingActions(actions, step3);
75 InspectorTest.completeDebuggerTest();
82 <body onload="runTest()">
83 <input type='button' onclick='testFunction()' value='Test'/>
85 Tests stepping into/over/out with framework black-boxing.