diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2018-01-25 22:47:33 +0100 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2018-01-25 22:47:33 +0100 |
commit | c9093bf212a283af3cc88de2a1c50bc24f593110 (patch) | |
tree | 4b3efad8029f252d46998e1d3b7540b8a70d47a5 /javaparser-testing/src | |
parent | 50879a09d9549a4fae6e5bb1151baaf505dadbc3 (diff) | |
download | platform_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.java | 36 |
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()); + } } |