diff options
Diffstat (limited to 'js/src/jit-test/tests/symbol-equality.js')
-rw-r--r-- | js/src/jit-test/tests/symbol-equality.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/symbol-equality.js b/js/src/jit-test/tests/symbol-equality.js new file mode 100644 index 0000000000..1b56273a7c --- /dev/null +++ b/js/src/jit-test/tests/symbol-equality.js @@ -0,0 +1,41 @@ +setJitCompilerOption("ion.warmup.trigger", 10); + +function simpleEquality() { + for (var i = 0; i < 150; i++) { + var x = Symbol(); + var y = Symbol(); + assertEq(x === y, false); + assertEq(x !== y, true); + assertEq(x == y, false); + assertEq(x != y, true); + } +} + +function equalOperands() { + for (var i = 0; i < 150; i++) { + var x = Symbol(); + assertEq(x === x, true); + assertEq(x !== x, false); + } +} + +function bitwiseCompare() { + var ar = [true, false, Symbol(), null, undefined]; + var s = Symbol(); + ar.push(s); + + for (var i = 0; i < 150; i++) { + for (var j = 0; j < ar.length; j++) { + var equal = (j == ar.indexOf(s)); + + assertEq(ar[j] === s, equal); + assertEq(ar[j] !== s, !equal); + assertEq(ar[j] == s, equal); + assertEq(ar[j] != s, !equal); + } + } +} + +equalOperands(); +simpleEquality(); +bitwiseCompare(); |