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

Unified Diff: test/mjsunit/es6/debug-promises/try-throw-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
« no previous file with comments | « test/mjsunit/es6/debug-promises/try-reject-in-constructor.js ('k') | test/mjsunit/mjsunit.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/es6/debug-promises/try-throw-reject-in-constructor.js
diff --git a/test/mjsunit/es6/debug-promises-throw-in-constructor.js b/test/mjsunit/es6/debug-promises/try-throw-reject-in-constructor.js
similarity index 70%
rename from test/mjsunit/es6/debug-promises-throw-in-constructor.js
rename to test/mjsunit/es6/debug-promises/try-throw-reject-in-constructor.js
index e0ffcf70521b2237aeecf742cb22b17aef521660..feff81da900bad99440799524c370e871ed1ed0b 100644
--- a/test/mjsunit/es6/debug-promises-throw-in-constructor.js
+++ b/test/mjsunit/es6/debug-promises/try-throw-reject-in-constructor.js
@@ -5,7 +5,8 @@
// 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.
+// an exception is thrown in the Promise constructor, but caught in an
+// inner try-catch. The Promise is rejected afterwards.
// We expect an Exception debug event with a promise to be triggered.
Debug = debug.Debug;
@@ -15,8 +16,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 +26,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 +34,10 @@ 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.
+ throw new Error("caught");
+ } catch (e) { }
+ reject(new Error("uncaught")); // event
});
assertEquals(1, step);
« no previous file with comments | « test/mjsunit/es6/debug-promises/try-reject-in-constructor.js ('k') | test/mjsunit/mjsunit.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698