3 <script src=
"../../../http/tests/inspector/inspector-test.js"></script>
4 <script src=
"../../../http/tests/inspector/debugger-test.js"></script>
5 <script src=
"../debugger/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
.empty
);
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
.settingForTest("skipStackFramesPattern").set(frameworkRegexString
);
47 InspectorTest
.startDebuggerTest(step1
, true);
51 InspectorTest
.runTestFunctionAndWaitUntilPaused(step2
);
58 "StepInto", "StepInto", "Print", // callback1
59 "StepInto", "Print", // callback2
60 "StepInto", "Print", // callback2, skipped
61 "StepInto", "Print", // callback3
62 "StepInto", "StepInto", "StepInto", "StepInto", "Print", // callback4
63 "StepInto", "Print", // callback4, skipped
64 "StepInto", "Print", // callback4, inside catch
65 "StepOut", "Print", // return to callback3
66 "StepOver", "Print", // return to callback2
67 "StepInto", "Print", // return to callback1
69 InspectorTest
.waitUntilPausedAndPerformSteppingActions(actions
, step3
);
74 InspectorTest
.completeDebuggerTest();
81 <body onload=
"runTest()">
82 <input type='button' onclick='testFunction()' value='Test'
/>
84 Tests stepping into/over/out with framework black-boxing.