Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
michael@0 | 1 | // Copyright 2009 the Sputnik authors. All rights reserved. |
michael@0 | 2 | // This code is governed by the BSD license found in the LICENSE file. |
michael@0 | 3 | |
michael@0 | 4 | /** |
michael@0 | 5 | * Function call cannot appear in the program before the FunctionExpression appears |
michael@0 | 6 | * |
michael@0 | 7 | * @path ch13/13.0/S13_A17_T2.js |
michael@0 | 8 | * @description Trying to call a function before the FunctionExpression appears and then using the FunctionExpression one more time |
michael@0 | 9 | */ |
michael@0 | 10 | |
michael@0 | 11 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 12 | //CHECK#1 |
michael@0 | 13 | try{ |
michael@0 | 14 | var __result = __func(); |
michael@0 | 15 | $ERROR("#1: var __result = __func() lead to throwing exception"); |
michael@0 | 16 | } catch(e) { |
michael@0 | 17 | if ((e instanceof TypeError) !== true) { |
michael@0 | 18 | $ERROR('#1.2: func should throw a TypeError Actual: ' + (e)); |
michael@0 | 19 | } |
michael@0 | 20 | } |
michael@0 | 21 | // |
michael@0 | 22 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 23 | |
michael@0 | 24 | // now we reach the __func overwriting by new expression |
michael@0 | 25 | var __func = function __func(){return "ONE";}; |
michael@0 | 26 | |
michael@0 | 27 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 28 | //CHECK#2 |
michael@0 | 29 | var __result = __func(); |
michael@0 | 30 | if (__result !== "ONE") { |
michael@0 | 31 | $ERROR('#2: __result === "ONE". Actual: __result ==='+__result); |
michael@0 | 32 | } |
michael@0 | 33 | // |
michael@0 | 34 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 35 | |
michael@0 | 36 | __func = function __func(){return "TWO";}; |
michael@0 | 37 | |
michael@0 | 38 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 39 | //CHECK#3 |
michael@0 | 40 | var __result = __func(); |
michael@0 | 41 | if (__result !== "TWO") { |
michael@0 | 42 | $ERROR('#3: __result === "TWO". Actual: __result ==='+__result); |
michael@0 | 43 | } |
michael@0 | 44 | // |
michael@0 | 45 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 46 |