1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
function x4(v) { return "" + v + v + v + v; }
function testConvertibleObjectEqUndefined()
{
var compares =
[
false, false, false, false,
undefined, undefined, undefined, undefined,
false, false, false, false,
undefined, undefined, undefined, undefined,
false, false, false, false,
undefined, undefined, undefined, undefined,
false, false, false, false,
undefined, undefined, undefined, undefined,
false, false, false, false,
undefined, undefined, undefined, undefined,
];
var count = 0;
var obj = { valueOf: function() { count++; return 1; } };
var results = compares.map(function(v) { return "unwritten"; });
for (var i = 0, sz = compares.length; i < sz; i++)
results[i] = compares[i] == obj;
return results.join("") + count;
}
assertEq(testConvertibleObjectEqUndefined(),
x4(false) + x4(false) + x4(false) + x4(false) + x4(false) + x4(false) +
x4(false) + x4(false) + x4(false) + x4(false) + "20");
|