Home | History | Annotate | Download | only in regress
      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 --allow-natives-syntax
      6 
      7 var Debug = debug.Debug;
      8 var expected =
      9     ["debugger;", "var x = y;", "var b = 2;", "Debug.setListener(null);"];
     10 var log = [];
     11 
     12 function listener(event, exec_state, event_data, data) {
     13   if (event != Debug.DebugEvent.Break) return;
     14   try {
     15     log.push(exec_state.frame(0).sourceLineText().trimLeft());
     16     exec_state.prepareStep(Debug.StepAction.StepNext);
     17   } catch (e) {
     18     %AbortJS(e + "\n" + e.stack);
     19   }
     20 }
     21 
     22 Debug.setListener(listener);
     23 
     24 function f() {
     25   var a = 1;
     26   debugger;
     27   var x = y;
     28   print(x);
     29 }
     30 
     31 try {
     32   %Call(f, {});
     33 } catch (e) {
     34   var b = 2;
     35 }
     36 
     37 Debug.setListener(null);
     38 
     39 assertEquals(expected, log);
     40