diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/test262/language/statements/function/S13.2.1_A8_T2.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/function/S13.2.1_A8_T2.js b/js/src/tests/test262/language/statements/function/S13.2.1_A8_T2.js new file mode 100644 index 0000000000..418376aeb8 --- /dev/null +++ b/js/src/tests/test262/language/statements/function/S13.2.1_A8_T2.js @@ -0,0 +1,32 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: | + When the [[Call]] property for a Function object F is called, the following steps are taken: + 2. Evaluate F's FunctionBody; + if Result.type is thrown then Result.value is thrown too +es5id: 13.2.1_A8_T2 +description: > + Throwing an exception within a function body. Declaring function + with "var __func = function (message)" +---*/ + +var CATCH_ME_IF_YOU_CAN = true; + +var __func = function (message){ + var x = 1; + throw (message) + return x; +} + +try{ + var x=__func(CATCH_ME_IF_YOU_CAN) + throw new Test262Error('#0: var x=__func(CATCH_ME_IF_YOU_CAN) lead to throwing exception'); +} catch(e){ + if (!e) { + throw new Test262Error('#1: Exception === true. Actual: exception ==='+e); + } +} + +reportCompare(0, 0); |