diff options
Diffstat (limited to 'js/src/tests/test262/ch12/12.5/S12.5_A5.js')
-rw-r--r-- | js/src/tests/test262/ch12/12.5/S12.5_A5.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch12/12.5/S12.5_A5.js b/js/src/tests/test262/ch12/12.5/S12.5_A5.js new file mode 100644 index 000000000..72c334a67 --- /dev/null +++ b/js/src/tests/test262/ch12/12.5/S12.5_A5.js @@ -0,0 +1,48 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * FunctionDeclaration inside the "if" Expression is evaluated as true and function will not be declarated + * + * @path ch12/12.5/S12.5_A5.js + * @description The "if" Expression is "function __func(){throw "FunctionExpression";}" + */ + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +try { + __func=__func; + $ERROR('#1: "__func=__func" lead to throwing exception'); +} catch (e) { + ; +} +// +////////////////////////////////////////////////////////////////////////////// + + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +try { + if(function __func(){throw "FunctionExpression";}) (function(){throw "TrueBranch"})(); else (function(){"MissBranch"})(); +} catch (e) { + if (e !== "TrueBranch") { + $ERROR('#2: Exception ==="TrueBranch". Actual: Exception ==='+ e); + } +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +try { + __func=__func; + $ERROR('#3: "__func=__func" lead to throwing exception'); +} catch (e) { + ; +} +// +////////////////////////////////////////////////////////////////////////////// + + + + |