diff options
author | dhardtke <accounts@pcprofil.de> | 2018-01-28 16:06:07 +0100 |
---|---|---|
committer | dhardtke <accounts@pcprofil.de> | 2018-01-28 16:06:07 +0100 |
commit | f5894954cf07eec08f81198d9ff0f081bd6ac853 (patch) | |
tree | f6b251c0a8fab06f2855174578e52d331417d2b2 /javaparser-testing | |
parent | 61d6ec238d91889437b6a34b56b01cdd22ccee36 (diff) | |
parent | 45f5c97e9ecfab67bc548ebad15ac3c79d131c06 (diff) | |
download | javaparser-f5894954cf07eec08f81198d9ff0f081bd6ac853.tar.gz |
Merge branch 'master' of https://github.com/javaparser/javaparser
Diffstat (limited to 'javaparser-testing')
11 files changed, 107 insertions, 30 deletions
diff --git a/javaparser-testing/pom.xml b/javaparser-testing/pom.xml index 162b921e7..1ae3427a3 100644 --- a/javaparser-testing/pom.xml +++ b/javaparser-testing/pom.xml @@ -2,7 +2,7 @@ <parent> <artifactId>javaparser-parent</artifactId> <groupId>com.github.javaparser</groupId> - <version>3.5.11-SNAPSHOT</version> + <version>3.5.12-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -46,7 +46,6 @@ </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> - <version>${maven-resources-plugin.version}</version> <executions> <execution> <id>copy-resources</id> @@ -70,7 +69,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> - <version>2.8.2</version> <configuration> <!-- no need to release this module --> <skip>true</skip> @@ -88,8 +86,6 @@ <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> - <version>5.0.0</version> - <scope>test</scope> </dependency> <dependency> <groupId>org.jbehave</groupId> diff --git a/javaparser-testing/src/test/java/com/github/javaparser/ast/CompilationUnitTest.java b/javaparser-testing/src/test/java/com/github/javaparser/ast/CompilationUnitTest.java index 40fdc771b..ec17e39b7 100644 --- a/javaparser-testing/src/test/java/com/github/javaparser/ast/CompilationUnitTest.java +++ b/javaparser-testing/src/test/java/com/github/javaparser/ast/CompilationUnitTest.java @@ -21,6 +21,7 @@ package com.github.javaparser.ast; +import com.github.javaparser.JavaParser; import org.junit.Test; import java.io.IOException; @@ -58,7 +59,7 @@ public class CompilationUnitTest { Path testFile = sourceRoot.resolve(Paths.get("com", "github", "javaparser", "storage", "A.java")); CompilationUnit cu = parse(testFile); - Path sourceRoot1 = cu.getStorage().get().getSourceRoot(); + cu.getStorage().get().getSourceRoot(); } @Test @@ -70,4 +71,38 @@ public class CompilationUnitTest { Path sourceRoot1 = cu.getStorage().get().getSourceRoot(); assertEquals(sourceRoot, sourceRoot1); } + + @Test + public void testGetPrimaryTypeName() throws IOException { + Path sourceRoot = mavenModuleRoot(CompilationUnitTest.class).resolve(Paths.get("src", "test", "resources")).normalize(); + Path testFile = sourceRoot.resolve(Paths.get("com", "github", "javaparser", "storage", "PrimaryType.java")); + CompilationUnit cu = JavaParser.parse(testFile); + + assertEquals("PrimaryType", cu.getPrimaryTypeName().get()); + } + + @Test + public void testNoPrimaryTypeName() { + CompilationUnit cu = JavaParser.parse("class PrimaryType{}"); + + assertEquals(false, cu.getPrimaryTypeName().isPresent()); + } + @Test + public void testGetPrimaryType() throws IOException { + Path sourceRoot = mavenModuleRoot(CompilationUnitTest.class).resolve(Paths.get("src", "test", "resources")).normalize(); + Path testFile = sourceRoot.resolve(Paths.get("com", "github", "javaparser", "storage", "PrimaryType.java")); + CompilationUnit cu = JavaParser.parse(testFile); + + assertEquals("PrimaryType", cu.getPrimaryType().get().getNameAsString()); + } + + @Test + public void testNoPrimaryType() throws IOException { + Path sourceRoot = mavenModuleRoot(CompilationUnitTest.class).resolve(Paths.get("src", "test", "resources")).normalize(); + Path testFile = sourceRoot.resolve(Paths.get("com", "github", "javaparser", "storage", "PrimaryType2.java")); + CompilationUnit cu = JavaParser.parse(testFile); + + assertEquals(false, cu.getPrimaryType().isPresent()); + } + } diff --git a/javaparser-testing/src/test/java/com/github/javaparser/printer/ConcreteSyntaxModelAcceptanceTest.java b/javaparser-testing/src/test/java/com/github/javaparser/printer/ConcreteSyntaxModelAcceptanceTest.java index 9f27bb4dd..af47a9d9d 100644 --- a/javaparser-testing/src/test/java/com/github/javaparser/printer/ConcreteSyntaxModelAcceptanceTest.java +++ b/javaparser-testing/src/test/java/com/github/javaparser/printer/ConcreteSyntaxModelAcceptanceTest.java @@ -24,14 +24,17 @@ package com.github.javaparser.printer; import com.github.javaparser.JavaParser; import com.github.javaparser.ast.CompilationUnit; import com.github.javaparser.ast.Node; +import com.github.javaparser.utils.CodeGenerationUtils; import com.github.javaparser.utils.TestUtils; import org.junit.Test; import java.io.IOException; +import java.nio.file.Path; import static org.junit.Assert.assertEquals; public class ConcreteSyntaxModelAcceptanceTest { + private final Path rootDir = CodeGenerationUtils.mavenModuleRoot(ConcreteSyntaxModelAcceptanceTest.class).resolve("src/test/test_sourcecode"); private String prettyPrint(Node node) { return ConcreteSyntaxModel.genericPrettyPrint(node); @@ -43,13 +46,13 @@ public class ConcreteSyntaxModelAcceptanceTest { @Test public void printingExamplePrettyPrintVisitor() throws IOException { - CompilationUnit cu = JavaParser.parseResource("com/github/javaparser/printer/PrettyPrintVisitor_saved.java"); + CompilationUnit cu = JavaParser.parse(rootDir.resolve("com/github/javaparser/printer/PrettyPrintVisitor.java")); assertEquals(prettyPrintedExpectation("PrettyPrintVisitor"), prettyPrint(cu)); } @Test public void printingExampleJavaConcepts() throws IOException { - CompilationUnit cu = JavaParser.parseResource("com/github/javaparser/printer/JavaConcepts_saved.java"); + CompilationUnit cu = JavaParser.parse(rootDir.resolve("com/github/javaparser/printer/JavaConcepts.java")); assertEquals(prettyPrintedExpectation("JavaConcepts"), prettyPrint(cu)); } diff --git a/javaparser-testing/src/test/java/com/github/javaparser/printer/JsonPrinterTest.java b/javaparser-testing/src/test/java/com/github/javaparser/printer/JsonPrinterTest.java index 4a78e212b..fac1ee359 100644 --- a/javaparser-testing/src/test/java/com/github/javaparser/printer/JsonPrinterTest.java +++ b/javaparser-testing/src/test/java/com/github/javaparser/printer/JsonPrinterTest.java @@ -5,13 +5,15 @@ import com.github.javaparser.ast.CompilationUnit; import com.github.javaparser.ast.expr.Expression; import org.junit.Test; +import static com.github.javaparser.JavaParser.*; +import static com.github.javaparser.utils.Utils.EOL; import static org.junit.Assert.*; public class JsonPrinterTest { @Test public void testWithType() { JsonPrinter jsonPrinter = new JsonPrinter(true); - Expression expression = JavaParser.parseExpression("x(1,1)"); + Expression expression = parseExpression("x(1,1)"); String output = jsonPrinter.output(expression); @@ -21,13 +23,23 @@ public class JsonPrinterTest { @Test public void testWithoutType() { JsonPrinter jsonPrinter = new JsonPrinter(false); - Expression expression = JavaParser.parseExpression("1+1"); + Expression expression = parseExpression("1+1"); String output = jsonPrinter.output(expression); assertEquals("{\"operator\":\"PLUS\",\"left\":{\"value\":\"1\"},\"right\":{\"value\":\"1\"}}", output); } - + + @Test + public void testEscaping() { + JsonPrinter jsonPrinter = new JsonPrinter(false); + CompilationUnit expression = parse("class X {//hi\"" + EOL + "int x;}"); + + String output = jsonPrinter.output(expression); + + assertEquals("{\"types\":[{\"isInterface\":\"false\",\"name\":{\"identifier\":\"X\",\"comment\":{\"content\":\"hi\\\"\"}},\"members\":[{\"variables\":[{\"name\":{\"identifier\":\"x\"},\"type\":{\"type\":\"INT\"}}]}]}]}", output); + } + @Test public void issue1338() { String code = "class Test {" + @@ -35,7 +47,7 @@ public class JsonPrinterTest { " String.format(\"I'm using %s\", \"JavaParser\");" + " }" + "}"; - CompilationUnit unit = JavaParser.parse(code); + CompilationUnit unit = parse(code); JsonPrinter printer = new JsonPrinter(true); printer.output(unit); } diff --git a/javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrintVisitorTest.java b/javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrintVisitorTest.java index b8c95a6ac..dd8738ab0 100644 --- a/javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrintVisitorTest.java +++ b/javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrintVisitorTest.java @@ -42,22 +42,22 @@ public class PrettyPrintVisitorTest { @Test public void getMaximumCommonTypeWithoutAnnotations() { VariableDeclarationExpr vde1 = JavaParser.parseVariableDeclarationExpr("int a[], b[]"); - assertEquals("int[]", vde1.getMaximumCommonType().toString()); + assertEquals("int[]", vde1.getMaximumCommonType().get().toString()); VariableDeclarationExpr vde2 = JavaParser.parseVariableDeclarationExpr("int[][] a[], b[]"); - assertEquals("int[][][]", vde2.getMaximumCommonType().toString()); + assertEquals("int[][][]", vde2.getMaximumCommonType().get().toString()); VariableDeclarationExpr vde3 = JavaParser.parseVariableDeclarationExpr("int[][] a, b[]"); - assertEquals("int[][]", vde3.getMaximumCommonType().toString()); + assertEquals("int[][]", vde3.getMaximumCommonType().get().toString()); } @Test public void getMaximumCommonTypeWithAnnotations() { VariableDeclarationExpr vde1 = JavaParser.parseVariableDeclarationExpr("int a @Foo [], b[]"); - assertEquals("int", vde1.getMaximumCommonType().toString()); + assertEquals("int", vde1.getMaximumCommonType().get().toString()); VariableDeclarationExpr vde2 = JavaParser.parseVariableDeclarationExpr("int[]@Foo [] a[], b[]"); - assertEquals("int[] @Foo [][]", vde2.getMaximumCommonType().toString()); + assertEquals("int[] @Foo [][]", vde2.getMaximumCommonType().get().toString()); } private String print(Node node) { diff --git a/javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrinterTest.java b/javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrinterTest.java index 88bd55924..fef360925 100644 --- a/javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrinterTest.java +++ b/javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrinterTest.java @@ -21,25 +21,26 @@ package com.github.javaparser.printer; -import com.github.javaparser.JavaParser; import com.github.javaparser.ast.CompilationUnit; import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration; import com.github.javaparser.ast.body.FieldDeclaration; import com.github.javaparser.ast.expr.VariableDeclarationExpr; +import com.github.javaparser.ast.type.PrimitiveType; import org.junit.Test; +import static com.github.javaparser.JavaParser.*; import static com.github.javaparser.utils.TestUtils.assertEqualsNoEol; import static org.junit.Assert.assertEquals; public class PrettyPrinterTest { private String prettyPrintField(String code) { - CompilationUnit cu = JavaParser.parse(code); + CompilationUnit cu = parse(code); return new PrettyPrinter().print(cu.findFirst(FieldDeclaration.class).get()); } private String prettyPrintVar(String code) { - CompilationUnit cu = JavaParser.parse(code); + CompilationUnit cu = parse(code); return new PrettyPrinter().print(cu.findAll(VariableDeclarationExpr.class).get(0)); } @@ -82,7 +83,7 @@ public class PrettyPrinterTest { } private String prettyPrintConfigurable(String code) { - CompilationUnit cu = JavaParser.parse(code); + CompilationUnit cu = parse(code); PrettyPrinter printer = new PrettyPrinter(new PrettyPrinterConfiguration().setVisitorFactory(TestVisitor::new)); return printer.print(cu.findFirst(ClassOrInterfaceDeclaration.class).get()); } @@ -115,7 +116,7 @@ public class PrettyPrinterTest { "}" + EOL + ""; - assertEquals(expected, new PrettyPrinter(config).print(JavaParser.parse(code))); + assertEquals(expected, new PrettyPrinter(config).print(parse(code))); } @Test @@ -132,7 +133,7 @@ public class PrettyPrinterTest { "}" + EOL + ""; - assertEquals(expected, new PrettyPrinter(config).print(JavaParser.parse(code))); + assertEquals(expected, new PrettyPrinter(config).print(parse(code))); } @Test @@ -156,7 +157,7 @@ public class PrettyPrinterTest { "}" + EOL + ""; - assertEquals(expected, new PrettyPrinter(config).print(JavaParser.parse(code))); + assertEquals(expected, new PrettyPrinter(config).print(parse(code))); } @Test @@ -173,18 +174,33 @@ public class PrettyPrinterTest { "}" + EOL + ""; - assertEquals(expected, new PrettyPrinter(config).print(JavaParser.parse(code))); + assertEquals(expected, new PrettyPrinter(config).print(parse(code))); } @Test public void enumConstantsHorizontally() { - CompilationUnit cu = JavaParser.parse("enum X{A, B, C, D, E}"); + CompilationUnit cu = parse("enum X{A, B, C, D, E}"); assertEqualsNoEol("enum X {\n\n A, B, C, D, E\n}\n", new PrettyPrinter().print(cu)); } @Test public void enumConstantsVertically() { - CompilationUnit cu = JavaParser.parse("enum X{A, B, C, D, E, F}"); + CompilationUnit cu = parse("enum X{A, B, C, D, E, F}"); assertEqualsNoEol("enum X {\n\n A,\n B,\n C,\n D,\n E,\n F\n}\n", new PrettyPrinter().print(cu)); } + + @Test + public void printingInconsistentVariables() { + FieldDeclaration fieldDeclaration = parseBodyDeclaration("int a, b;").asFieldDeclaration(); + + assertEquals("int a, b;", fieldDeclaration.toString()); + + fieldDeclaration.getVariable(0).setType(PrimitiveType.doubleType()); + + assertEquals("??? a, b;", fieldDeclaration.toString()); + + fieldDeclaration.getVariable(1).setType(PrimitiveType.doubleType()); + + assertEquals("double a, b;", fieldDeclaration.toString()); + } } diff --git a/javaparser-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/FieldDeclarationTransformationsTest.java b/javaparser-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/FieldDeclarationTransformationsTest.java index eda719080..994f5d8b6 100644 --- a/javaparser-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/FieldDeclarationTransformationsTest.java +++ b/javaparser-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/FieldDeclarationTransformationsTest.java @@ -44,24 +44,33 @@ public class FieldDeclarationTransformationsTest extends AbstractLexicalPreservi // Modifiers @Test - public void addingModifiers() throws IOException { + public void addingModifiers() { FieldDeclaration it = consider("int A;"); it.setModifiers(EnumSet.of(Modifier.PUBLIC)); assertTransformedToString("public int A;", it); } @Test - public void removingModifiers() throws IOException { + public void removingModifiers() { FieldDeclaration it = consider("public int A;"); it.setModifiers(EnumSet.noneOf(Modifier.class)); assertTransformedToString("int A;", it); } @Test - public void replacingModifiers() throws IOException { + public void replacingModifiers() { FieldDeclaration it = consider("int A;"); it.setModifiers(EnumSet.of(Modifier.PROTECTED)); assertTransformedToString("protected int A;", it); } + @Test + public void changingTypes() { + FieldDeclaration it = consider("int a, b;"); + assertTransformedToString("int a, b;", it); + it.getVariable(0).setType("Xyz"); + assertTransformedToString(" a, b;", it); + it.getVariable(1).setType("Xyz"); + assertTransformedToString("Xyz a, b;", it); + } } diff --git a/javaparser-testing/src/test/resources/com/github/javaparser/storage/PrimaryType.java b/javaparser-testing/src/test/resources/com/github/javaparser/storage/PrimaryType.java new file mode 100644 index 000000000..bac9587fb --- /dev/null +++ b/javaparser-testing/src/test/resources/com/github/javaparser/storage/PrimaryType.java @@ -0,0 +1,5 @@ +package com.github.javaparser.storage; + +public class PrimaryType { + +}
\ No newline at end of file diff --git a/javaparser-testing/src/test/resources/com/github/javaparser/storage/PrimaryType2.java b/javaparser-testing/src/test/resources/com/github/javaparser/storage/PrimaryType2.java new file mode 100644 index 000000000..81bcf0b1a --- /dev/null +++ b/javaparser-testing/src/test/resources/com/github/javaparser/storage/PrimaryType2.java @@ -0,0 +1 @@ +package com.github.javaparser.storage; diff --git a/javaparser-testing/src/test/resources/com/github/javaparser/printer/JavaConcepts_saved.java b/javaparser-testing/src/test/test_sourcecode/com/github/javaparser/printer/JavaConcepts.java index 2a53e5f5b..2a53e5f5b 100644 --- a/javaparser-testing/src/test/resources/com/github/javaparser/printer/JavaConcepts_saved.java +++ b/javaparser-testing/src/test/test_sourcecode/com/github/javaparser/printer/JavaConcepts.java diff --git a/javaparser-testing/src/test/resources/com/github/javaparser/printer/PrettyPrintVisitor_saved.java b/javaparser-testing/src/test/test_sourcecode/com/github/javaparser/printer/PrettyPrintVisitor.java index 4a4c9f07c..4a4c9f07c 100644 --- a/javaparser-testing/src/test/resources/com/github/javaparser/printer/PrettyPrintVisitor_saved.java +++ b/javaparser-testing/src/test/test_sourcecode/com/github/javaparser/printer/PrettyPrintVisitor.java |