1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
function f (v, i) { var c = v[i]; switch (c) { case 0: assertEq(v[i], 0); break; case 1: assertEq(v[i], 1); break; default: assertEq(c === 0 || c === 1, false); } } var v = [ 0, 0.0, 0.1, 1, 1.0, 1.1, null, undefined, true, false, {}, "", "0", "1", { valueOf: function () { return 0; } }, { valueOf: function () { return 1; } } ]; for (var i = 0; i < 100; i++) f(v, i % v.length);