Skip to content

Commit 564235b

Browse files
committed
Added tests for simple lookaheads.
1 parent 7a3aab6 commit 564235b

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

core/src/test/kotlin/org/evomaster/core/parser/GeneRegexJavaVisitorTest.kt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,4 +445,29 @@ class GeneRegexJavaVisitorTest : GeneRegexEcma262VisitorTest() {
445445
fun testUnicodeCharClassFlagImpliesUnicodeCase(){
446446
checkCanSample("(?iU)Å", "å", 100)
447447
}
448+
449+
@Test
450+
fun testSimpleLookaheads() {
451+
checkSameAsJava("(?=aaa5)aaa\\d")
452+
checkSameAsJava("(?=.*\\d).{4,8}")
453+
checkSameAsJava("(?=.*[A-Z])[a-zA-Z]{4,8}")
454+
checkSameAsJava("(?=.*[a-z])[a-zA-Z]{4,8}")
455+
checkSameAsJava("foo(?=.*\\d)[a-z\\d]{3,6}")
456+
checkSameAsJava("(?=.*\\d)\\w{6,12}")
457+
checkSameAsJava("(?=.*[^A-Za-z0-9])\\w{6,12}$")
458+
checkSameAsJava("^(?=.*\\d)[a-zA-Z\\d]{8,16}$")
459+
checkSameAsJava("(?=\\d)\\d{1,5}")
460+
checkSameAsJava("(?=.*\\d)([a-z]+|\\d+){2,4}")
461+
checkSameAsJava("(?=(!.*[a-z]+))\\1")
462+
checkSameAsJava("(?=(\\d|\\s|d))(\\d|\\s|d)*")
463+
checkSameAsJava("(?=a*)\\w*")
464+
checkSameAsJava("(?=xbcde)x(bcdX|bc)de")
465+
checkSameAsJava("(?=.*[A-Z])(?=.*[a-z])[a-zA-Z]{4,8}")
466+
checkSameAsJava("(?=ababc)(ab|abc)+")
467+
assertThrows<IllegalStateException> { checkSameAsJava("(?=.*\\d)(?=.*[A-Z])[a-zA-Z]{4,8}") }
468+
assertThrows<IllegalStateException> { checkSameAsJava("(?=.*\\d)(?=.*[A-Z])") }
469+
assertThrows<IllegalStateException> { checkSameAsJava("(?=.*\\d)[a-z]+") }
470+
assertThrows<IllegalStateException> { checkSameAsJava("(?=bbbX)aaa[a-z]") }
471+
assertThrows<IllegalStateException> { checkSameAsJava("(?=abcde)a(bcef|de)de") }
472+
}
448473
}

0 commit comments

Comments
 (0)