blob: b74348879890a55d1c8525146f675603a8c65d0e [file] [log] [blame]
Ben Murdoch61f157c2016-09-16 13:49:30 +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
5// Flags: --expose-debug-as debug --ignition-generators
6
7var Debug = debug.Debug;
8
9var break_count = 0;
10var exception = null;
11
12function listener(event, exec_state, event_data, data) {
13 if (event != Debug.DebugEvent.Break) return;
14 try {
15 break_count++;
16 var line = exec_state.frame(0).sourceLineText();
17 print(line);
18 assertTrue(line.indexOf(`B${break_count}`) > 0);
19 } catch (e) {
20 exception = e;
21 }
22}
23
24
25function* g() {
26 setbreaks();
27 yield 1; // B1
28}
29
30function* f() {
31 yield* g();
32 return 2; // B2
33}
34
35function setbreaks() {
36 Debug.setListener(listener);
37 Debug.setBreakPoint(g, 2);
38 Debug.setBreakPoint(f, 2);
39}
40
41for (let _ of f()) { }
42
43assertEquals(2, break_count);
44assertNull(exception);
45
46Debug.setListener(null);