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 --allow-natives-syntax 6 7// Test debug events when we only listen to uncaught exceptions, the Promise 8// is rejected, and a catch handler is installed right before the rejection. 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 return Promise.reject(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); 35