summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/regress/regress-crbug-568477-2.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/regress/regress-crbug-568477-2.js')
-rw-r--r--deps/v8/test/mjsunit/regress/regress-crbug-568477-2.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/regress/regress-crbug-568477-2.js b/deps/v8/test/mjsunit/regress/regress-crbug-568477-2.js
new file mode 100644
index 0000000000..64dd6777c9
--- /dev/null
+++ b/deps/v8/test/mjsunit/regress/regress-crbug-568477-2.js
@@ -0,0 +1,39 @@
+// Copyright 2015 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.
+
+// Flags: --expose-debug-as debug --allow-natives-syntax
+
+var Debug = debug.Debug;
+var expected = ["debugger;",
+ "var x = y;",
+ "new Promise(f).catch(call_f_with_deeper_stack);",
+ "var a = 1;", "", "var a = 1;",
+ "debugger;",
+ "var x = y;"];
+
+function listener(event, exec_state, event_data, data) {
+ if (event != Debug.DebugEvent.Break) return;
+ try {
+ assertEquals(expected.shift(), exec_state.frame(0).sourceLineText().trimLeft());
+ exec_state.prepareStep(Debug.StepAction.StepNext);
+ } catch (e) {
+ %AbortJS(e + "\n" + e.stack);
+ }
+}
+
+Debug.setListener(listener);
+
+function f() {
+ var a = 1;
+ debugger;
+ var x = y;
+ print(x);
+}
+
+function call_f_with_deeper_stack() {
+ (() => () => () => f())()()();
+}
+
+new Promise(f).catch(call_f_with_deeper_stack);
+var a = 1;