Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / tests / js1_8_5 / extensions / censor-strict-caller.js
1 // Any copyright is dedicated to the Public Domain.
2 // http://creativecommons.org/licenses/publicdomain/
3
4 //-----------------------------------------------------------------------------
5 var BUGNUMBER = 588251;
6 var summary =
7   "fun.caller should throw if that value corresponds to a strict mode " +
8   "function";
9
10 print(BUGNUMBER + ": " + summary);
11
12 /**************
13  * BEGIN TEST *
14  **************/
15
16 function nonstrict() { return nonstrict.caller; }
17 function strict() { "use strict"; return nonstrict(); }
18 try
19 {
20   strict();
21   throw 17;
22 }
23 catch (e)
24 {
25   assertEq(e instanceof TypeError, true,
26            "expected TypeError accessing strict mode caller, got: " + e);
27 }
28
29 /******************************************************************************/
30
31 if (typeof reportCompare === "function")
32   reportCompare(true, true);
33
34 print("All tests passed!");