diff options
Diffstat (limited to 'js/src/jit-test/tests/latin1/bug1033113.js')
-rw-r--r-- | js/src/jit-test/tests/latin1/bug1033113.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/latin1/bug1033113.js b/js/src/jit-test/tests/latin1/bug1033113.js new file mode 100644 index 000000000..74f1ff53f --- /dev/null +++ b/js/src/jit-test/tests/latin1/bug1033113.js @@ -0,0 +1,20 @@ +var s = "aaaaaaaaaaaaaaaaaa111aaaa"; +var latin1Rope1 = "foo" + s; +var latin1Rope2 = "bar" + latin1Rope1; +var twoByteRope = "\u1200--" + latin1Rope1; + +// Flatten twoByteRope. +assertEq(twoByteRope.lastIndexOf("11"), 25); + +// latin1Rope1 is now a TwoByte dependent string. +assertEq(isLatin1(latin1Rope1), false); +assertEq(latin1Rope1, "fooaaaaaaaaaaaaaaaaaa111aaaa"); + +// latin1Rope2 should still be Latin1, but now has a +// TwoByte descendent (latin1Rope1). +if (isLatin1(s)) + assertEq(isLatin1(latin1Rope2), true); + +// Flatten latin1Rope2. +assertEq(latin1Rope2.lastIndexOf("11"), 25); +assertEq(latin1Rope2, "barfooaaaaaaaaaaaaaaaaaa111aaaa"); |