diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/tests/test262/language/statements/try/S12.14_A5.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/test262/language/statements/try/S12.14_A5.js')
-rw-r--r-- | js/src/tests/test262/language/statements/try/S12.14_A5.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/try/S12.14_A5.js b/js/src/tests/test262/language/statements/try/S12.14_A5.js new file mode 100644 index 0000000000..f03fd6652a --- /dev/null +++ b/js/src/tests/test262/language/statements/try/S12.14_A5.js @@ -0,0 +1,53 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: | + The production TryStatement: "try Block Finally" and the production + TryStatement: "try Block Catch Finally" +es5id: 12.14_A5 +description: Checking "catch" catches the Identifier in appropriate way +---*/ + +// CHECK#1 +try { + throw "catchme"; + throw "dontcatchme"; + throw new Test262Error('#1.1: throw "catchme" lead to throwing exception'); +} +catch (e) { + if(e==="dontcatchme"){ + throw new Test262Error('#1.2: Exception !== "dontcatchme"'); + } + if (e!=="catchme") { + throw new Test262Error('#1.3: Exception === "catchme". Actual: Exception ==='+ e ); + } +} + +// CHECK#2 +function SwitchTest1(value){ + var result = 0; + try{ + switch(value) { + case 1: + result += 4; + throw result; + break; + case 4: + result += 64; + throw "ex"; + } + return result; + } + catch(e){ + if ((value===1)&&(e!==4)) throw new Test262Error('#2.1: Exception === 4. Actual: '+e); + if ((value===4)&&(e!=="ex"))throw new Test262Error('#2.2: Exception === "ex". Actual: '+e); + } + finally{ + return result; + } +} +if (SwitchTest1(1)!==4) throw new Test262Error('#2.3: "finally" block must be evaluated'); +if (SwitchTest1(4)!==64)throw new Test262Error('#2.4: "finally" block must be evaluated'); + +reportCompare(0, 0); |