testDynamicLookup.js (4195B)
1 (function() { var x = 2; eval("assertEq(x, 2)"); })(); 2 (function() { var x = 2; (function() { assertEq(x, 2) })() })(); 3 (function() { var x = 2; (function() { eval("assertEq(x, 2)") })() })(); 4 (function() { var x = 2; (function() { (function() { assertEq(x, 2) })()})() })(); 5 (function() { var x = 2; (function() { (function() { eval("assertEq(x, 2)") })()})() })(); 6 7 (function() { var x = 2; with({}) { assertEq(x, 2) } })(); 8 (function() { var x = 2; with({}) { (function() { assertEq(x, 2) })() } })(); 9 (function() { var x = 3; with({x:2}) { assertEq(x, 2) } })(); 10 (function() { var x = 3; with({x:2}) { (function() { assertEq(x, 2) })() } })(); 11 (function() { var x = 2; (function() { with({}) { assertEq(x, 2) } })() })(); 12 (function() { var x = 2; (function() { with({}) { (function() { assertEq(x, 2) })() } })() })(); 13 (function() { var x = 3; (function() { with({x:2}) { assertEq(x, 2) } })() })(); 14 (function() { var x = 3; (function() { with({x:2}) { (function() { assertEq(x, 2) })() } })() })(); 15 16 (function() { if (Math) function x() {}; assertEq(typeof x, "function") })(); 17 (function() { if (Math) function x() {}; eval('assertEq(typeof x, "function")') })(); 18 (function() { if (Math) function x() {}; (function() { assertEq(typeof x, "function") })() })(); 19 (function() { if (Math) function x() {}; (function() { eval('assertEq(typeof x, "function")') })() })(); 20 21 (function() { eval("var x = 2"); assertEq(x, 2) })(); 22 (function() { eval("var x = 2"); (function() { assertEq(x, 2) })() })(); 23 (function() { eval("var x = 2"); (function() { (function() { assertEq(x, 2) })() })() })(); 24 25 (function() { var x = 2; (function() { eval('var y = 3'); assertEq(x, 2) })() })(); 26 (function() { var x = 2; (function() { eval('var y = 3'); (function() { assertEq(x, 2) })() })() })(); 27 28 (function() { var x = 3; (function() { eval('var x = 2'); assertEq(x, 2) })() })(); 29 (function() { var x = 3; (function() { eval('var x = 2'); (function() { assertEq(x, 2) })() })() })(); 30 31 (function() { var x = 2; eval("eval('assertEq(x, 2)')") })(); 32 (function() { var x = 2; (function() { eval("eval('assertEq(x, 2)')") })() })(); 33 (function() { var x = 2; eval("(function() { eval('assertEq(x, 2)') })()") })(); 34 (function() { var x = 2; (function() { eval("(function() { eval('assertEq(x, 2)') })()") })() })(); 35 (function() { var x = 2; (function() { eval("(function() { eval('(function() { assertEq(x, 2) })()') })()") })() })(); 36 37 (function() { var [x] = [2]; eval('assertEq(x, 2)') })(); 38 (function() { var [x] = [2]; (function() { assertEq(x, 2) })() })(); 39 (function() { var [x] = [2]; (function() { eval('assertEq(x, 2)') })() })(); 40 (function() { for (var [x] = [2];;) { return (function() { return assertEq(x, 2); })() } })(); 41 (function() { for (var [x] = [2];;) { return (function() { return eval('assertEq(x, 2)'); })() } })(); 42 43 (function() { var {y:x} = {y:2}; eval('assertEq(x, 2)') })(); 44 (function() { var {y:x} = {y:2}; (function() { assertEq(x, 2) })() })(); 45 (function() { var {y:x} = {y:2}; (function() { eval('assertEq(x, 2)') })() })(); 46 (function() { for (var {y:x} = {y:2};;) { return (function() { return assertEq(x, 2); })() } })(); 47 (function() { for (var {y:x} = {y:2};;) { return (function() { return eval('assertEq(x, 2)'); })() } })(); 48 49 (function([x]) { eval('assertEq(x, 2)') })([2]); 50 (function([x]) { (function() { assertEq(x, 2) })() })([2]); 51 (function([x]) { (function() { eval('assertEq(x, 2)') })() })([2]); 52 53 (function f() { assertEq(f.length, 0) })(); 54 (function f() { eval('assertEq(f.length, 0)') })(); 55 (function f() { (function f(x) { eval('assertEq(f.length, 1)') })() })(); 56 (function f() { eval("(function f(x) { eval('assertEq(f.length, 1)') })()") })(); 57 58 (function f() { arguments = 3; function arguments() {}; assertEq(arguments, 3) })(); 59 (function f() { function arguments() {}; arguments = 3; assertEq(arguments, 3) })(); 60 (function f() { var arguments = 3; function arguments() {}; assertEq(arguments, 3) })(); 61 (function f() { function arguments() {}; var arguments = 3; assertEq(arguments, 3) })(); 62 63 function f1() { assertEq(typeof f1, "function") }; f1(); 64 with({}) { (function() { assertEq(typeof f1, "function") })() } 65 if (Math) 66 function f2(x) {} 67 assertEq(f2.length, 1);