js/src/jit-test/tests/arguments/strict-nested-shadow-eval.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /*
     2  * Any copyright is dedicated to the Public Domain.
     3  * http://creativecommons.org/licenses/publicdomain/
     4  */
     5 load(libdir + 'array-compare.js');
     7 function strictNestedShadowEval(code, p)
     8 {
     9   "use strict";
    10   function inner(p) { eval(code); }
    11   return arguments;
    12 }
    14 var a1, a2, a3, a4, a5, a6;
    15 for (var i = 0; i < 5; i++)
    16 {
    17   a1 = strictNestedShadowEval("1", 2);
    18   a2 = strictNestedShadowEval("arguments");
    19   a3 = strictNestedShadowEval("p = 2");
    20   a4 = strictNestedShadowEval("p = 2", 17);
    21   a5 = strictNestedShadowEval("arguments[0] = 17");
    22   a6 = strictNestedShadowEval("arguments[0] = 17", 42);
    23 }
    25 assertEq(arraysEqual(a1, ["1", 2]), true);
    26 assertEq(arraysEqual(a2, ["arguments"]), true);
    27 assertEq(arraysEqual(a3, ["p = 2"]), true);
    28 assertEq(arraysEqual(a4, ["p = 2", 17]), true);
    29 assertEq(arraysEqual(a5, ["arguments[0] = 17"]), true);
    30 assertEq(arraysEqual(a6, ["arguments[0] = 17", 42]), true);

mercurial