11package org.evomaster.core.parser
22
33import org.evomaster.core.search.gene.regex.RegexGene
4+ import org.evomaster.core.utils.RegexFlags
45import org.junit.jupiter.api.Test
56
67/* *
@@ -274,4 +275,26 @@ class GeneRegexJavaVisitorTest : GeneRegexEcma262VisitorTest() {
274275 checkSameAsJava(" [a[b[c[d&&[\\ w]]]][0-7&&\\ d&&[0-5]&&1-5]]" )
275276 checkSameAsJava(" &&" )
276277 }
278+
279+ @Test
280+ fun testCommentsFlag (){
281+ val commentsOn = RegexFlags (comments= true )
282+ checkSameAsJava(" a b c" , commentsOn)
283+ checkSameAsJava(" a b c #comment\n after comment" , commentsOn)
284+ checkSameAsJava(" [also within char classes#comments too\n ]" , commentsOn)
285+ checkSameAsJava(" a#comment\n b#noNewLine" , commentsOn)
286+ checkSameAsJava(" a#c1\n #c2\n b" , commentsOn)
287+ checkSameAsJava(" (a|b|#comment\n c)" , commentsOn)
288+ checkSameAsJava(" (?-x)( #notAComment)" )
289+ checkSameAsJava(" (?-x)( #notAComment)" , commentsOn)
290+ checkCanSample(" (?x)(a|b|#comment\n c)" , listOf (" a" , " b" , " c" ), 100 )
291+ checkSameAsJava(" a\\ b +" , commentsOn)
292+ checkSameAsJava(" \\ #a{1,3 #comment\n } " , commentsOn)
293+ checkSameAsJava(" " , commentsOn)
294+ checkCanSample(" (?x)a|#comment" , listOf (" a" , " " ), 100 )
295+ checkSameAsJava(" a(?x:b c(?-x: d )e f)g" )
296+ checkSameAsJava(" \\ Q#not a comment\\ E" , commentsOn)
297+ checkSameAsJava(" a b(?-x: c d(?x: e f)g h)i j" , commentsOn)
298+ checkSameAsJava(" a b(?-x: c d(?x: e f (?-x) #no (?x: a b))g h)i j" , commentsOn)
299+ }
277300}
0 commit comments