|
1 function assertGood(x) { |
|
2 assertEq(x, "good"); |
|
3 } |
|
4 |
|
5 (function() { |
|
6 var a = arguments; |
|
7 return function() { |
|
8 assertGood.apply(null, a); |
|
9 } |
|
10 })("good")(); |
|
11 |
|
12 (function() { |
|
13 var a = arguments; |
|
14 return function() { |
|
15 a[0] = "good"; |
|
16 assertGood.apply(null, a); |
|
17 } |
|
18 })("bad")(); |
|
19 |
|
20 Object.prototype[0] = "good"; |
|
21 |
|
22 (function() { |
|
23 var a = arguments; |
|
24 return function() { |
|
25 delete a[0]; |
|
26 assertGood.apply(null, a); |
|
27 } |
|
28 })("bad")(); |
|
29 |
|
30 delete Object.prototype[0]; |
|
31 |
|
32 function assertUndefined(x) { |
|
33 assertEq(x, undefined); |
|
34 } |
|
35 |
|
36 (function() { |
|
37 var a = arguments; |
|
38 return function() { |
|
39 a[0] = "bad"; |
|
40 assertUndefined.apply(null, a); |
|
41 } |
|
42 })()(); |