From 00ab245c0c6534d575246cfc5a1e49786eefd538 Mon Sep 17 00:00:00 2001 From: Danny van Bruggen Date: Thu, 24 Aug 2017 22:21:43 +0200 Subject: Make partial parsing explicitly match an EOF --- .../java/com/github/javaparser/JavaParserTest.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'javaparser-testing/src/test/java/com/github/javaparser/JavaParserTest.java') diff --git a/javaparser-testing/src/test/java/com/github/javaparser/JavaParserTest.java b/javaparser-testing/src/test/java/com/github/javaparser/JavaParserTest.java index 1082cd61f..ac2f7de95 100644 --- a/javaparser-testing/src/test/java/com/github/javaparser/JavaParserTest.java +++ b/javaparser-testing/src/test/java/com/github/javaparser/JavaParserTest.java @@ -28,20 +28,18 @@ import com.github.javaparser.ast.expr.ArrayCreationExpr; import com.github.javaparser.ast.expr.CastExpr; import com.github.javaparser.ast.expr.Expression; import com.github.javaparser.ast.expr.LambdaExpr; +import com.github.javaparser.ast.stmt.BlockStmt; import com.github.javaparser.ast.stmt.ReturnStmt; import com.github.javaparser.ast.stmt.Statement; import com.github.javaparser.ast.type.ClassOrInterfaceType; import com.github.javaparser.ast.type.IntersectionType; import com.github.javaparser.ast.type.Type; -import com.github.javaparser.ast.visitor.ModifierVisitor; -import com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter; -import com.github.javaparser.utils.Pair; import org.junit.Test; import java.util.Optional; -import static com.github.javaparser.ParseStart.*; -import static com.github.javaparser.Range.*; +import static com.github.javaparser.ParseStart.COMPILATION_UNIT; +import static com.github.javaparser.Range.range; import static com.github.javaparser.utils.TestUtils.assertInstanceOf; import static com.github.javaparser.utils.Utils.EOL; import static org.junit.Assert.assertEquals; @@ -192,4 +190,15 @@ public class JavaParserTest { Statement lambdaBody = lambdaExpr.getBody(); assertEquals(range(3, 68, 3, 101), lambdaBody.getRange().get()); } + + @Test(expected = ParseProblemException.class) + public void trailingCodeIsAnError() { + JavaParser.parseBlock("{} efijqoifjqefj"); + } + + @Test + public void trailingWhitespaceIsIgnored() { + BlockStmt blockStmt = JavaParser.parseBlock("{} // hello"); + assertEquals("\"}\" <120> (line 1,col 2)-(line 1,col 2)", blockStmt.getTokenRange().get().getEnd().toString()); + } } -- cgit v1.2.3