michael@0: // Copyright 2009 the Sputnik authors. All rights reserved. michael@0: // This code is governed by the BSD license found in the LICENSE file. michael@0: michael@0: /** michael@0: * FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier michael@0: * michael@0: * @path ch13/13.0/S13_A6_T2.js michael@0: * @description Calling a function before it is declared one more time michael@0: */ michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#1 michael@0: try{ michael@0: var __result = __func(); michael@0: } catch(e) { michael@0: $FAIL("#1: Function call can appears in the program before the FunctionDeclaration appears"); michael@0: } michael@0: if (__result !== "SECOND") { michael@0: $ERROR('#1.1: __result === "SECOND". Actual: __result ==='+__result); michael@0: } michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: function __func(){return "FIRST";}; michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#2 michael@0: __result = __func(); michael@0: if (__result !== "SECOND") { michael@0: $ERROR('#2: __result === "SECOND". Actual: __result ==='+__result); michael@0: } michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: function __func(){return "SECOND";}; michael@0: