|
1 /* vim: set ts=8 sts=4 et sw=4 tw=99: */ |
|
2 |
|
3 function g(a, b, c, d) { |
|
4 return "" + a + b + c + d; |
|
5 } |
|
6 |
|
7 var x = 1; |
|
8 function f(a, b, c) { |
|
9 arguments[1] = 2; |
|
10 arguments[2] = 3; |
|
11 arguments[3] = 4; |
|
12 if (x) { |
|
13 arguments.length = 1; |
|
14 delete arguments.length; |
|
15 arguments.__defineGetter__('length', function () { return eval('1'); }); |
|
16 } |
|
17 var k; |
|
18 for (var i = 0; i < 10; i++) |
|
19 k = g.apply(this, arguments); |
|
20 return k; |
|
21 } |
|
22 |
|
23 assertEq(f(1), "1undefinedundefinedundefined"); |
|
24 x = 0; |
|
25 assertEq(f(1), "1undefinedundefinedundefined"); |
|
26 |
|
27 |