js/src/tests/test262/ch13/13.0/S13_A17_T2.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/tests/test262/ch13/13.0/S13_A17_T2.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,46 @@
     1.4 +// Copyright 2009 the Sputnik authors.  All rights reserved.
     1.5 +// This code is governed by the BSD license found in the LICENSE file.
     1.6 +
     1.7 +/**
     1.8 + * Function call cannot appear in the program before the FunctionExpression appears
     1.9 + *
    1.10 + * @path ch13/13.0/S13_A17_T2.js
    1.11 + * @description Trying to call a function before the FunctionExpression appears and then using the FunctionExpression one more time
    1.12 + */
    1.13 +
    1.14 +//////////////////////////////////////////////////////////////////////////////
    1.15 +//CHECK#1
    1.16 +try{
    1.17 +    var __result = __func();
    1.18 +	$ERROR("#1: var __result = __func() lead to throwing exception");
    1.19 +} catch(e) {
    1.20 +  if ((e instanceof TypeError) !== true) {
    1.21 +    $ERROR('#1.2: func should throw a TypeError  Actual: ' + (e));  
    1.22 +  }
    1.23 +}
    1.24 +//
    1.25 +//////////////////////////////////////////////////////////////////////////////
    1.26 +
    1.27 +// now we reach the __func overwriting by new expression
    1.28 +var __func = function __func(){return "ONE";};
    1.29 +
    1.30 +//////////////////////////////////////////////////////////////////////////////
    1.31 +//CHECK#2
    1.32 +var __result = __func();
    1.33 +if (__result !== "ONE") {
    1.34 +	$ERROR('#2: __result === "ONE". Actual: __result ==='+__result);
    1.35 +}
    1.36 +//
    1.37 +//////////////////////////////////////////////////////////////////////////////
    1.38 +
    1.39 +__func = function __func(){return "TWO";};
    1.40 +
    1.41 +//////////////////////////////////////////////////////////////////////////////
    1.42 +//CHECK#3
    1.43 +var __result = __func();
    1.44 +if (__result !== "TWO") {
    1.45 +	$ERROR('#3: __result === "TWO". Actual: __result ==='+__result);
    1.46 +}
    1.47 +//
    1.48 +//////////////////////////////////////////////////////////////////////////////
    1.49 +

mercurial