aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-testing/src
diff options
context:
space:
mode:
authorDanny van Bruggen <hexagonaal@gmail.com>2018-01-25 22:47:33 +0100
committerDanny van Bruggen <hexagonaal@gmail.com>2018-01-25 22:47:33 +0100
commitc9093bf212a283af3cc88de2a1c50bc24f593110 (patch)
tree4b3efad8029f252d46998e1d3b7540b8a70d47a5 /javaparser-testing/src
parent50879a09d9549a4fae6e5bb1151baaf505dadbc3 (diff)
downloadplatform_external_javaparser-c9093bf212a283af3cc88de2a1c50bc24f593110.tar.gz
platform_external_javaparser-c9093bf212a283af3cc88de2a1c50bc24f593110.tar.bz2
platform_external_javaparser-c9093bf212a283af3cc88de2a1c50bc24f593110.zip
Let prettyprinter print ??? as the type when it is inconsistent
Diffstat (limited to 'javaparser-testing/src')
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/printer/PrettyPrinterTest.java36
1 files changed, 26 insertions, 10 deletions
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());
+ }
}