diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/onExceptionUnwind-resumption-async.js')
-rw-r--r-- | js/src/jit-test/tests/debug/onExceptionUnwind-resumption-async.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/onExceptionUnwind-resumption-async.js b/js/src/jit-test/tests/debug/onExceptionUnwind-resumption-async.js new file mode 100644 index 0000000000..1c74d56c89 --- /dev/null +++ b/js/src/jit-test/tests/debug/onExceptionUnwind-resumption-async.js @@ -0,0 +1,35 @@ +load(libdir + "asserts.js"); + +var g = newGlobal({newCompartment: true}); +var dbg = Debugger(g); + +g.eval(` +async function f() { + return e; +} +`); + +// Just continue +dbg.onExceptionUnwind = function(frame) { + return undefined; +}; +g.eval(` +var E; +f().catch(e => { exc = e }); +drainJobQueue(); +assertEq(exc instanceof ReferenceError, true); +`); + +// Return with resumption value. +dbg.onExceptionUnwind = function(frame) { + return { + return: 10 + }; +}; +var val = g.eval(` +var val; +f().then(v => { val = v }); +drainJobQueue(); +val; +`); +assertEq(val, 10); |