summaryrefslogtreecommitdiff
path: root/deps/v8/test/inspector/debugger/step-into-next-script.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/inspector/debugger/step-into-next-script.js')
-rw-r--r--deps/v8/test/inspector/debugger/step-into-next-script.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/deps/v8/test/inspector/debugger/step-into-next-script.js b/deps/v8/test/inspector/debugger/step-into-next-script.js
new file mode 100644
index 0000000000..b51ce012d8
--- /dev/null
+++ b/deps/v8/test/inspector/debugger/step-into-next-script.js
@@ -0,0 +1,51 @@
+// Copyright 2017 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+print('Debugger breaks in next script after stepOut from previous one.');
+
+InspectorTest.addScript(`
+function test() {
+ setTimeout('var a = 1;//# sourceURL=timeout1.js', 0);
+ setTimeout(foo, 0);
+ setTimeout('var a = 3;//# sourceURL=timeout3.js', 0);
+ debugger;
+}
+//# sourceURL=foo.js`, 7, 26);
+
+InspectorTest.addScript(`
+function foo() {
+ return 42;
+}
+//# sourceURL=timeout2.js`)
+
+InspectorTest.setupScriptMap();
+var stepAction;
+Protocol.Debugger.onPaused(message => {
+ InspectorTest.logCallFrames(message.params.callFrames);
+ InspectorTest.log('');
+ Protocol.Debugger[stepAction]();
+});
+Protocol.Debugger.enable()
+InspectorTest.runTestSuite([
+ function testStepOut(next) {
+ stepAction = 'stepOut';
+ Protocol.Runtime.evaluate({ expression: 'test()' })
+ .then(() => InspectorTest.waitPendingTasks())
+ .then(next);
+ },
+
+ function testStepOver(next) {
+ stepAction = 'stepOver';
+ Protocol.Runtime.evaluate({ expression: 'test()' })
+ .then(() => InspectorTest.waitPendingTasks())
+ .then(next);
+ },
+
+ function testStepInto(next) {
+ stepAction = 'stepInto';
+ Protocol.Runtime.evaluate({ expression: 'test()' })
+ .then(() => InspectorTest.waitPendingTasks())
+ .then(next);
+ }
+]);