Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: test/mjsunit/es6/debug-step-destructuring-assignment.js

Issue 2480283002: Revert of [debugger] Migrate more debugger tests to inspector (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/mjsunit/es6/debug-step-destructuring-assignment.js
diff --git a/test/mjsunit/es6/debug-step-destructuring-assignment.js b/test/mjsunit/es6/debug-step-destructuring-assignment.js
new file mode 100644
index 0000000000000000000000000000000000000000..4fde928b3835d9b83676caba618513f28af04b69
--- /dev/null
+++ b/test/mjsunit/es6/debug-step-destructuring-assignment.js
@@ -0,0 +1,85 @@
+// 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
+
+var exception = null;
+var Debug = debug.Debug;
+var break_count = 0;
+
+function listener(event, exec_state, event_data, data) {
+ if (event != Debug.DebugEvent.Break) return;
+ try {
+ var source = exec_state.frame(0).sourceLineText();
+ print(source);
+ assertTrue(source.indexOf(`// B${break_count++}`) > 0);
+ if (source.indexOf("assertEquals") > 0) {
+ exec_state.prepareStep(Debug.StepAction.StepNext);
+ } else {
+ exec_state.prepareStep(Debug.StepAction.StepIn);
+ }
+ } catch (e) {
+ exception = e;
+ print(e);
+ }
+};
+
+Debug.setListener(listener);
+
+function f() {
+ var a, b, c, d;
+ debugger; // B0
+ [ // B1
+ a, // B2
+ b, // B3
+ c = 3 // B4
+ ] = [1, 2];
+ assertEquals({a:1,b:2,c:3}, {a, b, c}); // B5
+
+ [ // B6
+ a, // B7
+ [
+ b, // B8
+ c // B9
+ ],
+ d // B10
+ ] = [5, [6, 7], 8];
+ assertEquals({a:5,b:6,c:7,d:8}, {a, b, c, d}); // B11
+
+ [ // B12
+ a, // B13
+ b, // B14
+ ...c // B15
+ ] = [1, 2, 3, 4];
+ assertEquals({a:1,b:2,c:[3,4]}, {a, b, c}); // B16
+
+ ({ // B17
+ a, // B18
+ b, // B19
+ c = 7 // B20
+ } = {a: 5, b: 6});
+ assertEquals({a:5,b:6,c:7}, {a, b, c}); // B21
+
+ ({ // B22
+ a, // B23
+ b = return1(), // B24
+ c = return1() // B25
+ } = {a: 5, b: 6});
+ assertEquals({a:5,b:6,c:1}, {a, b, c}); // B28
+
+ ({ // B29
+ x : a, // B30
+ y : b, // B31
+ z : c = 3 // B32
+ } = {x: 1, y: 2});
+ assertEquals({a:1,b:2,c:3}, {a, b, c}); // B33
+} // B34
+
+function return1() {
+ return 1; // B26
+} // B27
+
+f();
+Debug.setListener(null); // B35
+assertNull(exception);
« no previous file with comments | « test/mjsunit/es6/debug-promises/stepin-constructor.js ('k') | test/mjsunit/es6/debug-step-destructuring-bind.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698