1   /***
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package test.net.sourceforge.pmd.ast;
5   
6   import net.sourceforge.pmd.PMD;
7   import net.sourceforge.pmd.ast.ASTBlock;
8   import net.sourceforge.pmd.ast.ASTClassOrInterfaceType;
9   import net.sourceforge.pmd.ast.ASTCompilationUnit;
10  import net.sourceforge.pmd.ast.ASTTryStatement;
11  import net.sourceforge.pmd.ast.ASTVariableDeclaratorId;
12  import test.net.sourceforge.pmd.testframework.ParserTst;
13  
14  public class ASTVariableDeclaratorIdTest extends ParserTst {
15  
16      public void testIsExceptionBlockParameter() {
17          ASTTryStatement tryNode = new ASTTryStatement(1);
18          ASTBlock block = new ASTBlock(2);
19          ASTVariableDeclaratorId v = new ASTVariableDeclaratorId(3);
20          v.jjtSetParent(block);
21          block.jjtSetParent(tryNode);
22          assertTrue(v.isExceptionBlockParameter());
23      }
24  
25      public void testTypeNameNode() throws Throwable {
26          ASTCompilationUnit acu = (ASTCompilationUnit) (super.getNodes(ASTCompilationUnit.class, TYPE_NAME_NODE).iterator().next());
27          ASTVariableDeclaratorId id = (ASTVariableDeclaratorId) acu.findChildrenOfType(ASTVariableDeclaratorId.class).get(0);
28  
29          ASTClassOrInterfaceType name = (ASTClassOrInterfaceType) id.getTypeNameNode().jjtGetChild(0);
30          assertEquals("String", name.getImage());
31      }
32  
33      private static final String TYPE_NAME_NODE =
34              "public class Test {" + PMD.EOL +
35              "  private String bar;" + PMD.EOL +
36              "}";
37  
38  }