bug701964.js (721B)
1 load(libdir + 'array-compare.js'); 2 3 function f(v) { 4 return v.length; 5 } 6 7 function g(v) { 8 return v.length; 9 } 10 11 function h(v) { 12 return v.length; 13 } 14 15 function aliasCheck(v) { 16 v[0] = v.length; 17 v[1] = v.length; 18 v[2] = v.length; 19 return v; 20 } 21 22 for(let i = 41; i; i--) { 23 assertEq(f([]), 0); 24 assertEq(f([0]), 1); 25 assertEq(f([0, 1]), 2); 26 assertEq(f([0, 1, 2]), 3); 27 assertEq(g(""), 0); 28 assertEq(g("1"), 1); 29 assertEq(g("12"), 2); 30 assertEq(g("123"), 3); 31 assertEq(h({}), undefined); 32 assertEq(h({a: 1}), undefined); 33 assertEq(h({a: 1, b: 2}), undefined); 34 assertEq(h({a: 1, b: 2, length: 3}), 3); 35 assertEq(arraysEqual(aliasCheck([0, 1, 2]), [3, 3, 3]), true); 36 }