diff --git a/tool/test/org/antlr/v4/test/TestLexerExec.java b/tool/test/org/antlr/v4/test/TestLexerExec.java index 1f04c7e99..6cf8d5b0b 100644 --- a/tool/test/org/antlr/v4/test/TestLexerExec.java +++ b/tool/test/org/antlr/v4/test/TestLexerExec.java @@ -73,6 +73,19 @@ public class TestLexerExec extends BaseTest { assertNull(stderrDuringParse); } + @Test + public void testNonGreedyTermination2() throws Exception { + String grammar = + "lexer grammar L;\n" + + "STRING : '\"' ('\"\"' | .)+? '\"';"; + + String found = execLexer("L.g4", grammar, "L", "\"hi\"\"mom\""); + assertEquals( + "[@0,0:3='\"hi\"\"mom\"',<1>,1:0]\n" + + "[@2,9:8='',<-1>,1:9]\n", found); + assertNull(stderrDuringParse); + } + @Test public void testGreedyOptional() throws Exception { String grammar =