blob: aa7e5843208152736c0a5bed56e991491e8b413f [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001// 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
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00005// Flags: --expose-debug-as debug --allow-natives-syntax --promise-extra
Ben Murdochb8a8cc12014-11-26 15:28:44 +00006
7// Test debug events when we only listen to uncaught exceptions, the Promise
8// throws, and a catch handler is installed right before throwing.
9// We expect no debug event to be triggered.
10
11Debug = debug.Debug;
12
13var p = new Promise(function(resolve, reject) {
14 resolve();
15});
16
17var q = p.chain(
18 function() {
19 q.catch(function(e) {
20 assertEquals("caught", e.message);
21 });
22 throw new Error("caught");
23 });
24
25function listener(event, exec_state, event_data, data) {
26 try {
27 assertTrue(event != Debug.DebugEvent.Exception);
28 } catch (e) {
29 %AbortJS(e + "\n" + e.stack);
30 }
31}
32
33Debug.setBreakOnUncaughtException();
34Debug.setListener(listener);