blob: afb46fea8f6471ee926089a09887a22ae20a1b8d [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 and
8// there is a catch handler for the to-be-rejected Promise.
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 return Promise.reject(Error("caught reject"));
20 });
21
22q.catch(
23 function(e) {
24 assertEquals("caught reject", e.message);
25 });
26
27function listener(event, exec_state, event_data, data) {
28 try {
29 assertTrue(event != Debug.DebugEvent.Exception);
30 } catch (e) {
31 %AbortJS(e + "\n" + e.stack);
32 }
33}
34
35Debug.setBreakOnUncaughtException();
36Debug.setListener(listener);