load(libdir + 'array-compare.js'); function f(v) { return v.length; } function g(v) { return v.length; } function h(v) { return v.length; } function aliasCheck(v) { v[0] = v.length; v[1] = v.length; v[2] = v.length; return v; } for(let i = 41; i; i--) { assertEq(f([]), 0); assertEq(f([0]), 1); assertEq(f([0, 1]), 2); assertEq(f([0, 1, 2]), 3); assertEq(g(""), 0); assertEq(g("1"), 1); assertEq(g("12"), 2); assertEq(g("123"), 3); assertEq(h({}), undefined); assertEq(h({a: 1}), undefined); assertEq(h({a: 1, b: 2}), undefined); assertEq(h({a: 1, b: 2, length: 3}), 3); assertEq(arraysEqual(aliasCheck([0, 1, 2]), [3, 3, 3]), true); }