Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / v8 / test / mjsunit / debug-break-native.js
1 // 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
7 Debug = debug.Debug
8 var exception = null;
9
10 function breakListener(event, exec_state, event_data, data) {
11   if (event != Debug.DebugEvent.Break) return;
12   try {
13     exec_state.prepareStep(Debug.StepAction.StepIn, 1);
14     // 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
21 Debug.setListener(breakListener);
22
23 debugger;                          // break
24
25 function f(x) {
26   return x;                        // break
27 }                                  // break
28
29 Debug.setBreakPoint(f, 0, 0);      // break
30 Debug.scripts();                   // break
31 debug.MakeMirror(f);               // break
32
33 new Error("123").stack;            // break
34 Math.sin(0);                       // break
35
36 f("this should break");            // break
37
38 Debug.setListener(null);           // break
39
40 f("this should not break");
41
42 assertNull(exception);