diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2018-02-20 21:56:01 +0100 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2018-02-20 21:56:01 +0100 |
commit | 8d247c646efd3940285f408c5a5066be588a3334 (patch) | |
tree | fa969c96b010576b3e99b97224fab548049e7879 /javaparser-testing/src/test/java/com/github/javaparser/ast/validator/Java10ValidatorTest.java | |
parent | fbd8c73b0a66f3d71cd073c7b2cb61a1112f7ba6 (diff) | |
download | platform_external_javaparser-8d247c646efd3940285f408c5a5066be588a3334.tar.gz platform_external_javaparser-8d247c646efd3940285f408c5a5066be588a3334.tar.bz2 platform_external_javaparser-8d247c646efd3940285f408c5a5066be588a3334.zip |
Validate positions of var
Diffstat (limited to 'javaparser-testing/src/test/java/com/github/javaparser/ast/validator/Java10ValidatorTest.java')
-rw-r--r-- | javaparser-testing/src/test/java/com/github/javaparser/ast/validator/Java10ValidatorTest.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/javaparser-testing/src/test/java/com/github/javaparser/ast/validator/Java10ValidatorTest.java b/javaparser-testing/src/test/java/com/github/javaparser/ast/validator/Java10ValidatorTest.java new file mode 100644 index 000000000..b4b3d038b --- /dev/null +++ b/javaparser-testing/src/test/java/com/github/javaparser/ast/validator/Java10ValidatorTest.java @@ -0,0 +1,56 @@ +package com.github.javaparser.ast.validator; + +import com.github.javaparser.JavaParser; +import com.github.javaparser.ParseResult; +import com.github.javaparser.ParserConfiguration; +import com.github.javaparser.ast.CompilationUnit; +import com.github.javaparser.ast.stmt.Statement; +import org.junit.Test; + +import static com.github.javaparser.ParseStart.COMPILATION_UNIT; +import static com.github.javaparser.ParseStart.STATEMENT; +import static com.github.javaparser.ParserConfiguration.LanguageLevel.*; +import static com.github.javaparser.Providers.provider; +import static com.github.javaparser.ast.validator.Java1_1ValidatorTest.allModifiers; +import static com.github.javaparser.utils.TestUtils.assertNoProblems; +import static com.github.javaparser.utils.TestUtils.assertProblems; + +public class Java10ValidatorTest { + public static final JavaParser javaParser = new JavaParser(new ParserConfiguration().setLanguageLevel(JAVA_10_PREVIEW)); + + @Test + public void varAllowedInLocalVariableDeclaration() { + ParseResult<Statement> result = javaParser.parse(STATEMENT, provider("var a = 5;")); + assertNoProblems(result); + } + + @Test + public void varAllowedInForEach() { + ParseResult<Statement> result = javaParser.parse(STATEMENT, provider("for(var a : as){}")); + assertNoProblems(result); + } + + @Test + public void varAllowedInOldFor() { + ParseResult<Statement> result = javaParser.parse(STATEMENT, provider("for(var a = 5;a<9;a++){}")); + assertNoProblems(result); + } + + @Test + public void varNotAllowedInCast() { + ParseResult<Statement> result = javaParser.parse(STATEMENT, provider("int a = (var)20;")); + assertNoProblems(result); + } + + @Test + public void varNotAllowedInTypeArguments() { + ParseResult<Statement> result = javaParser.parse(STATEMENT, provider("new X<var>();")); + assertProblems(result, "(line 1,col 7) \"var\" is not allowed here."); + } + + @Test + public void varNotAllowedInLambdaParameters() { + ParseResult<Statement> result = javaParser.parse(STATEMENT, provider("x((var x) -> null);")); + assertProblems(result, "(line 1,col 4) \"var\" is not allowed here."); + } +} |