| 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);
|
|
|