OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 // Flags: --expose-debug-as debug | |
6 | |
7 Debug = debug.Debug; | |
8 | |
9 var step = 0; | |
10 var exception = null; | |
11 | |
12 function listener(event, exec_state, event_data, data) { | |
13 if (event != Debug.DebugEvent.Break) return; | |
14 try { | |
15 if (step == 0) { | |
16 assertEquals("Error", exec_state.frame(0).evaluate("e").value()); | |
17 exec_state.frame(0).evaluate("e = 'foo'"); | |
aandrey
2014/09/25 06:19:06
Below is the check that changes above materialized
| |
18 } else { | |
19 assertEquals("Argument", exec_state.frame(0).evaluate("e").value()); | |
20 exec_state.frame(0).evaluate("e = 'bar'"); | |
21 } | |
22 step++; | |
23 } catch (e) { | |
24 print(e + e.stack); | |
25 exception = e; | |
26 } | |
27 } | |
28 | |
29 Debug.setListener(listener); | |
30 | |
31 function f(e) { | |
aandrey
2014/09/25 06:19:06
f(e, x)
| |
32 try { | |
33 throw "Error"; | |
34 } catch(e) { | |
35 debugger; | |
36 assertEquals("foo", e); | |
37 } | |
38 debugger; | |
39 assertEquals("bar", e); | |
aandrey
2014/09/25 06:19:06
assertEquals("modified", x);
| |
40 } | |
41 | |
42 f("Argument") | |
43 assertNull(exception); | |
44 assertEquals(2, step); | |
OLD | NEW |