diff options
Diffstat (limited to 'js/src/tests/test262/language/statements/throw/S12.13_A2_T5.js')
-rw-r--r-- | js/src/tests/test262/language/statements/throw/S12.13_A2_T5.js | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/throw/S12.13_A2_T5.js b/js/src/tests/test262/language/statements/throw/S12.13_A2_T5.js new file mode 100644 index 0000000000..ed30274884 --- /dev/null +++ b/js/src/tests/test262/language/statements/throw/S12.13_A2_T5.js @@ -0,0 +1,77 @@ +// 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_T5 +description: Throwing number +---*/ + +// CHECK#1 +try{ + throw 13; +} +catch(e){ + if (e!==13) throw new Test262Error('#1: Exception ===13. Actual: Exception ==='+ e ); +} + +// CHECK#2 +var b=13; +try{ + throw b; +} +catch(e){ + if (e!==13) throw new Test262Error('#2: Exception ===13. Actual: Exception ==='+ e ); +} + +// CHECK#3 +try{ + throw 2.13; +} +catch(e){ + if (e!==2.13) throw new Test262Error('#3: Exception ===2.13. Actual: Exception ==='+ e ); +} + +// CHECK#4 +try{ + throw NaN; +} +catch(e){ + assert.sameValue(e, NaN, "e is NaN"); +} + +// CHECK#5 +try{ + throw +Infinity; +} +catch(e){ + if (e!==+Infinity) throw new Test262Error('#5: Exception ===+Infinity. Actual: Exception ==='+ e ); +} + +// CHECK#6 +try{ + throw -Infinity; +} +catch(e){ + if (e!==-Infinity) throw new Test262Error('#6: Exception ===-Infinity. Actual: Exception ==='+ e ); +} + +// CHECK#7 +try{ + throw +0; +} +catch(e){ + if (e!==+0) throw new Test262Error('#7: Exception ===+0. Actual: Exception ==='+ e ); +} + +// CHECK#8 +try{ + throw -0; +} +catch(e){ + assert.sameValue(e, -0); +} + +reportCompare(0, 0); |