blob: d83402a9d730304fef39472874d708d01624f8cc [file] [log] [blame]
Andrew Topef837fa2017-10-04 22:44:25 -07001// 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
6function get() {
7 return 3; // Break
8} // Break
9
10function set(x) {
11 this.x = x; // Break
12} // Break
13
14var o = {};
15Object.defineProperty(o, "get", { get : get });
16Object.defineProperty(o, "set", { set : set });
17
18function f() {
19 for (var i = 0; i < 10; i++) { // Break
20 o.get; // Break
21 o.set = 1; // Break
22 }
23} // Break
24
25var break_count = 0;
26var exception = null;
27
28function listener(event, exec_state, event_data, data) {
29 if (event != Debug.DebugEvent.Break) return;
30 try {
31 var source_line = exec_state.frame(0).sourceLineText();
32 assertTrue(source_line.indexOf("// Break") > 0);
33 exec_state.prepareStep(Debug.StepAction.StepIn);
34 break_count++;
35 } catch (e) {
36 exception = e;
37 }
38}
39
40var Debug = debug.Debug;
41Debug.setListener(listener);
42
43debugger; // Break
44f(); // Break
45
46Debug.setListener(null); // Break
47assertEquals(86, break_count);
48assertNull(exception);