Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / jit-test / tests / arguments / strict-nested-assign-shadow-function-call.js
1 /*
2  * Any copyright is dedicated to the Public Domain.
3  * http://creativecommons.org/licenses/publicdomain/
4  */
5 load(libdir + 'array-compare.js');
6
7 var obj = {};
8
9 function strictNestedAssignShadowFunctionCall(p)
10 {
11   "use strict";
12   function inner()
13   {
14     function p() { }
15     p = 1776;
16   }
17   inner();
18   return arguments;
19 }
20
21 var a1, a2, a3, a4;
22 for (var i = 0; i < 5; i++)
23 {
24   a1 = strictNestedAssignShadowFunctionCall();
25   a2 = strictNestedAssignShadowFunctionCall(99);
26   a3 = strictNestedAssignShadowFunctionCall("");
27   a4 = strictNestedAssignShadowFunctionCall(obj);
28 }
29
30 assertEq(arraysEqual(a1, []), true);
31 assertEq(arraysEqual(a2, [99]), true);
32 assertEq(arraysEqual(a3, [""]), true);
33 assertEq(arraysEqual(a4, [obj]), true);