Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(382)

Unified Diff: test/mjsunit/es6/debug-promises/try-reject-in-constructor.js

Issue 440773004: Trigger exception debug events on Promise reject. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: comments Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/mjsunit/es6/debug-promises/try-reject-in-constructor.js
diff --git a/test/mjsunit/es6/debug-promises-throw-in-constructor.js b/test/mjsunit/es6/debug-promises/try-reject-in-constructor.js
similarity index 70%
copy from test/mjsunit/es6/debug-promises-throw-in-constructor.js
copy to test/mjsunit/es6/debug-promises/try-reject-in-constructor.js
index e0ffcf70521b2237aeecf742cb22b17aef521660..00981a67d09cdd908ef7c2aa8ce600c3d04bb8cb 100644
--- a/test/mjsunit/es6/debug-promises-throw-in-constructor.js
+++ b/test/mjsunit/es6/debug-promises/try-reject-in-constructor.js
@@ -5,7 +5,7 @@
// Flags: --expose-debug-as debug
// Test debug events when we only listen to uncaught exceptions and
-// an exception is thrown in the the Promise constructor.
+// the Promise is rejected within a try-catch in the Promise constructor.
// We expect an Exception debug event with a promise to be triggered.
Debug = debug.Debug;
@@ -15,8 +15,6 @@ var exception = null;
function listener(event, exec_state, event_data, data) {
try {
- // Ignore exceptions during startup in stress runs.
- if (step >= 1) return;
if (event == Debug.DebugEvent.Exception) {
assertEquals(0, step);
assertEquals("uncaught", event_data.exception().message);
@@ -27,10 +25,6 @@ function listener(event, exec_state, event_data, data) {
step++;
}
} catch (e) {
- // Signal a failure with exit code 1. This is necessary since the
- // debugger swallows exceptions and we expect the chained function
- // and this listener to be executed after the main script is finished.
- print("Unexpected exception: " + e + "\n" + e.stack);
exception = e;
}
}
@@ -39,7 +33,9 @@ Debug.setBreakOnUncaughtException();
Debug.setListener(listener);
var p = new Promise(function(resolve, reject) {
- throw new Error("uncaught"); // event
+ try { // This try-catch must not prevent this uncaught reject event.
+ reject(new Error("uncaught")); // event
+ } catch (e) { }
});
assertEquals(1, step);

Powered by Google App Engine
This is Rietveld 408576698