object-is.js (890B)
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);