blob: 3e6fff42b57b7ddb89ef04342bf92cd468066dc6 [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001// 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
7Debug = debug.Debug
8var exception = null;
9
10function breakListener(event, exec_state, event_data, data) {
11 if (event != Debug.DebugEvent.Break) return;
12 try {
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000013 exec_state.prepareStep(Debug.StepAction.StepIn);
Ben Murdochb8a8cc12014-11-26 15:28:44 +000014 // Assert that the break happens at an intended location.
15 assertTrue(exec_state.frame(0).sourceLineText().indexOf("// break") > 0);
16 } catch (e) {
17 exception = e;
18 }
19}
20
21Debug.setListener(breakListener);
22
23debugger; // break
24
25function f(x) {
26 return x; // break
27} // break
28
29Debug.setBreakPoint(f, 0, 0); // break
30Debug.scripts(); // break
31debug.MakeMirror(f); // break
32
33new Error("123").stack; // break
34Math.sin(0); // break
35
36f("this should break"); // break
37
38Debug.setListener(null); // break
39
40f("this should not break");
41
42assertNull(exception);