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/throw/S12.13_A2_T6.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-upstream.tar.xz firefox-esr-upstream.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/throw/S12.13_A2_T6.js')
-rw-r--r-- | js/src/tests/test262/language/statements/throw/S12.13_A2_T6.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/throw/S12.13_A2_T6.js b/js/src/tests/test262/language/statements/throw/S12.13_A2_T6.js new file mode 100644 index 0000000000..8026a54585 --- /dev/null +++ b/js/src/tests/test262/language/statements/throw/S12.13_A2_T6.js @@ -0,0 +1,47 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: | + "throw Expression" returns (throw, GetValue(Result(1)), empty), where 1 + evaluates Expression +es5id: 12.13_A2_T6 +description: Throwing object +---*/ + +var myObj = {p1: 'a', + p2: 'b', + p3: 'c', + value: 'myObj_value', + valueOf : function(){return 'obj_valueOf';}, + parseInt : function(){return 'obj_parseInt';}, + NaN : 'obj_NaN', + Infinity : 'obj_Infinity', + eval : function(){return 'obj_eval';}, + parseFloat : function(){return 'obj_parseFloat';}, + isNaN : function(){return 'obj_isNaN';}, + isFinite : function(){return 'obj_isFinite';}, + i:7 +} + +try{ + throw myObj; +} +catch(e){ +// CHECK#1 + if (e.p1!=="a") throw new Test262Error('#1: e.p1 === "a". Actual: e.p1 ==='+ e.p1 ); +// CHECK#2 + if (e.value!=='myObj_value') throw new Test262Error('#2: e.p1 === \'myObj_value\'. Actual: e.p1 ==='+ e.p1 ); +// CHECK#3 + if (e.eval()!=='obj_eval') throw new Test262Error('#3: e.p1 === \'obj_eval\'. Actual: e.p1 ==='+ e.p1 ); +} + +// CHECK#4 +myObj.i=6 +try{ + throw myObj; +} +catch(e){} +if (myObj.i!==6) throw new Test262Error('#4: Handling of catch must be correct'); + +reportCompare(0, 0); |