1 // Copyright 2015 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 var Debug = debug.Debug; 8 var exception = null; 9 var breaks = []; 10 11 function listener(event, exec_state, event_data, data) { 12 if (event != Debug.DebugEvent.Break) return; 13 try { 14 breaks.push(exec_state.frame(0).sourceLineText().trimLeft()); 15 exec_state.prepareStep(Debug.StepAction.StepIn); 16 } catch (e) { 17 exception = e; 18 } 19 } 20 21 Debug.setListener(listener); 22 23 function resolver(resolve, reject) { 24 1; 25 2; 26 3; 27 resolve(); 28 } 29 30 debugger; 31 var p = new Promise(resolver); 32 33 Debug.setListener(null); 34 35 var expected_breaks = [ 36 "debugger;", 37 "var p = new Promise(resolver);", 38 "1;", 39 "2;", 40 "3;", 41 "resolve();", 42 "}", 43 "Debug.setListener(null);" 44 ]; 45 46 assertEquals(expected_breaks, breaks); 47 assertNull(exception); 48