diff options
Diffstat (limited to 'js/src/jit-test/tests/warp/string-compare-char-in-bounds.js')
-rw-r--r-- | js/src/jit-test/tests/warp/string-compare-char-in-bounds.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/warp/string-compare-char-in-bounds.js b/js/src/jit-test/tests/warp/string-compare-char-in-bounds.js new file mode 100644 index 0000000000..31c48a43fd --- /dev/null +++ b/js/src/jit-test/tests/warp/string-compare-char-in-bounds.js @@ -0,0 +1,24 @@ +// |str.char(idx) == "b"| is compiled as |str.charCodeAt(idx) == 0x62|. + +const strings = [ + "a", "b", "c", + "a-", "b-", "c-", +]; + +for (let i = 0; i < 1000; ++i) { + let str = strings[i % strings.length]; + + for (let j = 0; j < str.length; ++j) { + let ch = str.charAt(j); + let code = str.charCodeAt(j); + + assertEq(ch == "b", code == 0x62); + assertEq(ch != "b", code != 0x62); + + assertEq(ch < "b", code < 0x62); + assertEq(ch <= "b", code <= 0x62); + + assertEq(ch > "b", code > 0x62); + assertEq(ch >= "b", code >= 0x62); + } +} |