summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/warp/string-compare-char-in-bounds.js
diff options
context:
space:
mode:
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.js24
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);
+ }
+}