|
1 /* |
|
2 * Any copyright is dedicated to the Public Domain. |
|
3 * http://creativecommons.org/licenses/publicdomain/ |
|
4 */ |
|
5 |
|
6 var list = [ |
|
7 [1, 1, true], |
|
8 [0, 1, false], |
|
9 [3.5, 3.5, true], |
|
10 [0, 0, true], |
|
11 [0, -0, false], |
|
12 [-0, 0, false], |
|
13 [-0, -0, true], |
|
14 |
|
15 [true, true, true], |
|
16 [true, false, false], |
|
17 [false, false, true], |
|
18 |
|
19 [NaN, NaN, true], |
|
20 [NaN, undefined, false], |
|
21 [Infinity, -Infinity, false], |
|
22 [Infinity, Infinity, true], |
|
23 ] |
|
24 |
|
25 for (var test of list) { |
|
26 assertEq(Object.is(test[0], test[1]), test[2]) |
|
27 } |
|
28 |
|
29 var obj = {} |
|
30 assertEq(Object.is(obj, obj), true); |
|
31 assertEq(Object.is(obj, {}), false); |
|
32 assertEq(Object.is([], []), false); |
|
33 |
|
34 assertEq(Object.is(null, null, null), true); |
|
35 |
|
36 /* Not defined parameters are undefined ... */ |
|
37 assertEq(Object.is(null), false); |
|
38 assertEq(Object.is(undefined), true); |
|
39 assertEq(Object.is(), true); |
|
40 |
|
41 assertEq(Object.is.length, 2); |