OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --expose-debug-as debug --harmony | 5 // Flags: --expose-debug-as debug --harmony |
6 | 6 |
7 Debug = debug.Debug; | 7 Debug = debug.Debug; |
8 var break_count = 0 | 8 var break_count = 0 |
9 var exception = null; | 9 var exception = null; |
10 var log = [] | 10 var log = [] |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 break_count++; | 74 break_count++; |
75 } catch (e) { | 75 } catch (e) { |
76 exception = e; | 76 exception = e; |
77 } | 77 } |
78 } | 78 } |
79 | 79 |
80 Debug.setListener(listener); | 80 Debug.setListener(listener); |
81 f(); | 81 f(); |
82 Debug.setListener(null); // Break z | 82 Debug.setListener(null); // Break z |
83 | 83 |
84 print(JSON.stringify(log)); | 84 print("log:\n"+ JSON.stringify(log)); |
85 // The let declaration differs from var in that the loop variable | 85 // The let declaration differs from var in that the loop variable |
86 // is declared in every iteration. | 86 // is declared in every iteration. |
87 var expected = [ | 87 var expected = [ |
88 // Entry | 88 // Entry |
89 "a2","b2", | 89 "a2","b2", |
90 // Empty for-in-var: var decl, get enumerable | 90 // Empty for-in-var: get enumerable |
91 "c7","c16", | 91 "c16", |
92 // Empty for-in: get enumerable | 92 // Empty for-in: get enumerable |
93 "d12", | 93 "d12", |
94 // For-in-var: var decl, get enumerable, assign, body, assign, body, ... | 94 // For-in-var: get enumerable, assign, body, assign, body, ... |
95 "e7","e16","e11","E4","e11","E4","e11","E4","e11", | 95 "e16","e11","E4","e11","E4","e11","E4","e11", |
96 // For-in: get enumerable, assign, body, assign, body, ... | 96 // For-in: get enumerable, assign, body, assign, body, ... |
97 "f12","f7","F4","f7","F4","f7","F4","f7", | 97 "f12","f7","F4","f7","F4","f7","F4","f7", |
98 // For-in-let: get enumerable, next, new let, body, next, new let, ... | 98 // For-in-let: get enumerable, next, body, next, ... |
99 "g16","g11","g7","G4","g11","g7","G4","g11","g7","G4","g11", | 99 "g16","g11","G4","g11","G4","g11","G4","g11", |
100 // For-of-var: var decl, next(), body, next(), body, ... | 100 // For-of-var: next(), body, next(), body, ... |
101 "h7","h16","H4","h16","H4","h16","H4","h16", | 101 "h16","H4","h16","H4","h16","H4","h16", |
102 // For-of: next(), body, next(), body, ... | 102 // For-of: next(), body, next(), body, ... |
103 "i12","I4","i12","I4","i12","I4","i12", | 103 "i12","I4","i12","I4","i12","I4","i12", |
104 // For-of-let: next(), new let, body, next(), new let, ... | 104 // For-of-let: next(), body, next(), ... |
105 "j16","j7","J4","j16","j7","J4","j16","j7","J4","j16", | 105 "j16","J4","j16","J4","j16","J4","j16", |
106 // For-var: var decl, condition, body, next, condition, body, ... | 106 // For-var: var decl, condition, body, next, condition, body, ... |
107 "k7","k20","K4","k23","k20","K4","k23","k20","K4","k23","k20", | 107 "k7","k20","K4","k23","k20","K4","k23","k20","K4","k23","k20", |
108 // For: init, condition, body, next, condition, body, ... | 108 // For: init, condition, body, next, condition, body, ... |
109 "l11","l16","L4","l19","l16","L4","l19","l16","L4","l19","l16", | 109 "l11","l16","L4","l19","l16","L4","l19","l16","L4","l19","l16", |
110 // Exit. | 110 // Exit. |
111 "y0","z0", | 111 "y0","z0", |
112 ] | 112 ] |
| 113 print("expected:\n"+ JSON.stringify(log)); |
113 | 114 |
114 assertArrayEquals(expected, log); | 115 assertArrayEquals(expected, log); |
115 assertEquals(48, s); | 116 assertEquals(48, s); |
116 assertNull(exception); | 117 assertNull(exception); |
OLD | NEW |