diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/non262/syntax/omitted-catch-binding.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/tests/non262/syntax/omitted-catch-binding.js b/js/src/tests/non262/syntax/omitted-catch-binding.js new file mode 100644 index 0000000000..86b3c0f4f8 --- /dev/null +++ b/js/src/tests/non262/syntax/omitted-catch-binding.js @@ -0,0 +1,36 @@ +var state = 'initial'; +try { + throw new Error('caught'); + state = 'unreachable'; +} catch { // Note the lack of a binding + assertEq(state, 'initial'); + state = 'caught'; +} +assertEq(state, 'caught'); + + +var sigil1 = {}; +try { + throw sigil1; +} catch (e) { + assertEq(e, sigil1); +} + + +var sigil2 = {}; +var reached = false; +try { + try { + throw sigil1; + } catch { + reached = true; + } finally { + throw sigil2; + } +} catch (e) { + assertEq(e, sigil2); +} +assertEq(reached, true); + +if (typeof reportCompare === "function") + reportCompare(0, 0); |