blob: d31150b6d37aac89c6f968e5d74d2da28eb67567 [file] [log] [blame]
Ben Murdochda12d292016-06-02 14:46:10 +01001// Copyright 2016 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
Ben Murdoch61f157c2016-09-16 13:49:30 +01005// Flags: --expose-debug-as debug
Ben Murdochda12d292016-06-02 14:46:10 +01006
7Debug = debug.Debug
8
9var exception = null;
10var break_count = 0;
11
12function listener(event, exec_state, event_data, data) {
13 if (event != Debug.DebugEvent.Break) return;
14 try {
15 print(event_data.sourceLineText());
16 var column = event_data.sourceColumn();
17 assertTrue(event_data.sourceLineText().indexOf(
18 `Break ${break_count++}. ${column}.`) > 0);
19 exec_state.prepareStep(Debug.StepAction.StepIn);
20 } catch (e) {
21 print(e + e.stack);
22 exception = e;
23 }
24};
25
26function f() {
27 var a = 1; // Break 2. 10.
Ben Murdoch61f157c2016-09-16 13:49:30 +010028 return a; // Break 3. 2.
29} // Break 4. 0.
Ben Murdochda12d292016-06-02 14:46:10 +010030
31Debug.setListener(listener);
32debugger; // Break 0. 0.
33f(); // Break 1. 0.
Ben Murdoch61f157c2016-09-16 13:49:30 +010034Debug.setListener(null); // Break 5. 0.
Ben Murdochda12d292016-06-02 14:46:10 +010035
36assertNull(exception);
Ben Murdoch61f157c2016-09-16 13:49:30 +010037assertEquals(6, break_count);