diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/bug1330339.js')
-rw-r--r-- | js/src/jit-test/tests/debug/bug1330339.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/bug1330339.js b/js/src/jit-test/tests/debug/bug1330339.js new file mode 100644 index 0000000000..4654a93fae --- /dev/null +++ b/js/src/jit-test/tests/debug/bug1330339.js @@ -0,0 +1,36 @@ +// |jit-test| test-also=--wasm-compiler=optimizing; error: TestComplete + +if (!wasmDebuggingEnabled()) + throw "TestComplete"; + +let module = new WebAssembly.Module(wasmTextToBinary(` + (module + (import "global" "func" (func)) + (func (export "test") + call 0 ;; calls the import, which is func #0 + ) + ) +`)); + +let imports = { + global: { + func: function () { + let g = newGlobal({newCompartment: true}); + let dbg = new Debugger(g); + dbg.onExceptionUnwind = function (frame) { + frame.older; + }; + g.eval("throw new Error();"); + } + } +}; +let instance = new WebAssembly.Instance(module, imports); + +try { + instance.exports.test(); + assertEq(false, true); +} catch (e) { + assertEq(e.constructor.name, 'Error'); +} + +throw "TestComplete"; |