Fail fast in Regex.findAll on an invalid startIndex #KT-28356

This commit is contained in:
Abduqodiri Qurbonzoda
2020-01-21 06:42:08 +03:00
parent 95a8060946
commit c592201a43
3 changed files with 22 additions and 4 deletions
+6
View File
@@ -67,6 +67,10 @@ class RegexTest {
assertEquals(expected.drop(1), pattern.findAll(input, startIndex = 3).map { it.value }.toList())
assertEquals(listOf(0..2, 4..6, 8..10), matches.map { it.range }.toList())
assertFailsWith<IndexOutOfBoundsException> { pattern.findAll(input, -1) }
assertFailsWith<IndexOutOfBoundsException> { pattern.findAll(input, input.length + 1) }
assertEquals(emptyList(), pattern.findAll(input, input.length).toList())
}
@Test fun matchAllSequence() {
@@ -76,6 +80,8 @@ class RegexTest {
assertEquals(input, matches[0].value)
assertEquals(input, matches.joinToString("") { it.value })
assertEquals(2, matches.size)
assertEquals("", pattern.findAll(input, input.length).single().value)
}
@Test fun matchGroups() {