Index: test/mjsunit/harmony/debug-stepin-collections-foreach.js |
diff --git a/test/mjsunit/harmony/debug-stepin-collections-foreach.js b/test/mjsunit/harmony/debug-stepin-collections-foreach.js |
deleted file mode 100644 |
index 30fa8c00492667d2ec404da87c0f39a10120d5b0..0000000000000000000000000000000000000000 |
--- a/test/mjsunit/harmony/debug-stepin-collections-foreach.js |
+++ /dev/null |
@@ -1,118 +0,0 @@ |
-// Copyright 2014 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 --harmony-collections |
- |
-Debug = debug.Debug |
- |
-var exception = false; |
- |
-function listener(event, exec_state, event_data, data) { |
- try { |
- if (event == Debug.DebugEvent.Break) { |
- if (breaks == 0) { |
- exec_state.prepareStep(Debug.StepAction.StepIn, 2); |
- breaks = 1; |
- } else if (breaks <= 3) { |
- breaks++; |
- // Check whether we break at the expected line. |
- print(event_data.sourceLineText()); |
- assertTrue(event_data.sourceLineText().indexOf("Expected to step") > 0); |
- exec_state.prepareStep(Debug.StepAction.StepIn, 3); |
- } |
- } |
- } catch (e) { |
- exception = true; |
- } |
-} |
- |
-function cb_set(num) { |
- print("element " + num); // Expected to step to this point. |
- return true; |
-} |
- |
-function cb_map(key, val) { |
- print("key " + key + ", value " + val); // Expected to step to this point. |
- return true; |
-} |
- |
-var s = new Set(); |
-s.add(1); |
-s.add(2); |
-s.add(3); |
-s.add(4); |
- |
-var m = new Map(); |
-m.set('foo', 1); |
-m.set('bar', 2); |
-m.set('baz', 3); |
-m.set('bat', 4); |
- |
-Debug.setListener(listener); |
- |
-var breaks = 0; |
-debugger; |
-s.forEach(cb_set); |
-assertFalse(exception); |
-assertEquals(4, breaks); |
- |
-breaks = 0; |
-debugger; |
-m.forEach(cb_map); |
-assertFalse(exception); |
-assertEquals(4, breaks); |
- |
-Debug.setListener(null); |
- |
- |
-// Test two levels of builtin callbacks: |
-// Array.forEach calls a callback function, which by itself uses |
-// Array.forEach with another callback function. |
- |
-function second_level_listener(event, exec_state, event_data, data) { |
- try { |
- if (event == Debug.DebugEvent.Break) { |
- if (breaks == 0) { |
- exec_state.prepareStep(Debug.StepAction.StepIn, 3); |
- breaks = 1; |
- } else if (breaks <= 16) { |
- breaks++; |
- // Check whether we break at the expected line. |
- assertTrue(event_data.sourceLineText().indexOf("Expected to step") > 0); |
- // Step two steps further every four breaks to skip the |
- // forEach call in the first level of recurision. |
- var step = (breaks % 4 == 1) ? 6 : 3; |
- exec_state.prepareStep(Debug.StepAction.StepIn, step); |
- } |
- } |
- } catch (e) { |
- exception = true; |
- } |
-} |
- |
-function cb_set_foreach(num) { |
- s.forEach(cb_set); |
- print("back to the first level of recursion."); |
-} |
- |
-function cb_map_foreach(key, val) { |
- m.forEach(cb_set); |
- print("back to the first level of recursion."); |
-} |
- |
-Debug.setListener(second_level_listener); |
- |
-breaks = 0; |
-debugger; |
-s.forEach(cb_set_foreach); |
-assertFalse(exception); |
-assertEquals(17, breaks); |
- |
-breaks = 0; |
-debugger; |
-m.forEach(cb_map_foreach); |
-assertFalse(exception); |
-assertEquals(17, breaks); |
- |
-Debug.setListener(null); |