aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-testing/src
diff options
context:
space:
mode:
authordhardtke <accounts@pcprofil.de>2018-01-28 16:06:07 +0100
committerdhardtke <accounts@pcprofil.de>2018-01-28 16:06:07 +0100
commitf5894954cf07eec08f81198d9ff0f081bd6ac853 (patch)
treef6b251c0a8fab06f2855174578e52d331417d2b2 /javaparser-testing/src
parent61d6ec238d91889437b6a34b56b01cdd22ccee36 (diff)
parent45f5c97e9ecfab67bc548ebad15ac3c79d131c06 (diff)
downloadplatform_external_javaparser-f5894954cf07eec08f81198d9ff0f081bd6ac853.tar.gz
platform_external_javaparser-f5894954cf07eec08f81198d9ff0f081bd6ac853.tar.bz2
platform_external_javaparser-f5894954cf07eec08f81198d9ff0f081bd6ac853.zip
Merge branch 'master' of https://github.com/javaparser/javaparser
Diffstat (limited to 'javaparser-testing/src')
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/ast/CompilationUnitTest.java37
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/printer/ConcreteSyntaxModelAcceptanceTest.java7
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/printer/JsonPrinterTest.java20
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrintVisitorTest.java10
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrinterTest.java36
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/FieldDeclarationTransformationsTest.java15
-rw-r--r--javaparser-testing/src/test/resources/com/github/javaparser/storage/PrimaryType.java5
-rw-r--r--javaparser-testing/src/test/resources/com/github/javaparser/storage/PrimaryType2.java1
-rw-r--r--javaparser-testing/src/test/test_sourcecode/com/github/javaparser/printer/JavaConcepts.java (renamed from javaparser-testing/src/test/resources/com/github/javaparser/printer/JavaConcepts_saved.java)0
-rw-r--r--javaparser-testing/src/test/test_sourcecode/com/github/javaparser/printer/PrettyPrintVisitor.java (renamed from javaparser-testing/src/test/resources/com/github/javaparser/printer/PrettyPrintVisitor_saved.java)0
10 files changed, 106 insertions, 25 deletions
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