[K/N] String.indexOf matches byte sequences not on the char boundary #KT-56637

If the found index is odd, retry search from index + 1.

Merge-request: KT-MR-10364
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
This commit is contained in:
Abduqodiri Qurbonzoda
2023-06-01 12:56:32 +00:00
committed by Space Team
parent b11447ea6b
commit 7acaf6e473
2 changed files with 26 additions and 7 deletions
+13
View File
@@ -1856,4 +1856,17 @@ ${" "}
assertTrue(null.contentEquals(null, ignoreCase = true))
assertTrue(null.contentEquals(null, ignoreCase = false))
}
@Test
fun indexOfRespectsCharBoundary() {
withOneCharSequenceArg("\u003a\u3b3c\u003d") { input ->
assertEquals(-1, input.indexOf("\u3c00"))
assertEquals(-1, input.indexOf("\u3d3b"))
assertEquals(-1, input.indexOf("\u3c00\u3d3b"))
}
// KT-56637
assertEquals("買っ", "買っ".replace("", "X"))
assertEquals("", "".replace("", "X"))
}
}