1 package test.net.sourceforge.pmd.ast; 2 3 import net.sourceforge.pmd.PMD; 4 import net.sourceforge.pmd.TargetJDK1_4; 5 import net.sourceforge.pmd.ast.ASTCompilationUnit; 6 import net.sourceforge.pmd.ast.ASTLocalVariableDeclaration; 7 import net.sourceforge.pmd.ast.JavaParser; 8 import test.net.sourceforge.pmd.testframework.ParserTst; 9 10 import java.io.StringReader ; 11 12 public class ASTLocalVariableDeclarationTest extends ParserTst { 13 14 public void testSingleDimArray() { 15 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader (TEST1)); 16 ASTCompilationUnit cu = parser.CompilationUnit(); 17 ASTLocalVariableDeclaration node = (ASTLocalVariableDeclaration) cu.findChildrenOfType(ASTLocalVariableDeclaration.class).get(0); 18 assertEquals(1, node.getArrayDepth()); 19 } 20 21 public void testMultDimArray() { 22 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader (TEST2)); 23 ASTCompilationUnit cu = parser.CompilationUnit(); 24 ASTLocalVariableDeclaration node = (ASTLocalVariableDeclaration) cu.findChildrenOfType(ASTLocalVariableDeclaration.class).get(0); 25 assertEquals(2, node.getArrayDepth()); 26 } 27 28 public void testMultDimArraySplitBraces() { 29 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader (TEST3)); 30 ASTCompilationUnit cu = parser.CompilationUnit(); 31 ASTLocalVariableDeclaration node = (ASTLocalVariableDeclaration) cu.findChildrenOfType(ASTLocalVariableDeclaration.class).get(0); 32 assertEquals(3, node.getArrayDepth()); 33 } 34 35 private static final String TEST1 = 36 "class Foo {" + PMD.EOL + 37 " void bar() {int x[] = null;}" + PMD.EOL + 38 "}"; 39 40 private static final String TEST2 = 41 "class Foo {" + PMD.EOL + 42 " void bar() {int x[][] = null;}" + PMD.EOL + 43 "}"; 44 45 private static final String TEST3 = 46 "class Foo {" + PMD.EOL + 47 " void bar() {int[] x[][] = null;}" + PMD.EOL + 48 "}"; 49 50 } 51 | Popular Tags |