symbol-equality.js (962B)
1 setJitCompilerOption("ion.warmup.trigger", 10); 2 3 function simpleEquality() { 4 for (var i = 0; i < 150; i++) { 5 var x = Symbol(); 6 var y = Symbol(); 7 assertEq(x === y, false); 8 assertEq(x !== y, true); 9 assertEq(x == y, false); 10 assertEq(x != y, true); 11 } 12 } 13 14 function equalOperands() { 15 for (var i = 0; i < 150; i++) { 16 var x = Symbol(); 17 assertEq(x === x, true); 18 assertEq(x !== x, false); 19 } 20 } 21 22 function bitwiseCompare() { 23 var ar = [true, false, Symbol(), null, undefined]; 24 var s = Symbol(); 25 ar.push(s); 26 27 for (var i = 0; i < 150; i++) { 28 for (var j = 0; j < ar.length; j++) { 29 var equal = (j == ar.indexOf(s)); 30 31 assertEq(ar[j] === s, equal); 32 assertEq(ar[j] !== s, !equal); 33 assertEq(ar[j] == s, equal); 34 assertEq(ar[j] != s, !equal); 35 } 36 } 37 } 38 39 equalOperands(); 40 simpleEquality(); 41 bitwiseCompare();