1 /***
2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3 */
4 package test.net.sourceforge.pmd.symboltable;
5
6 import junit.framework.TestCase;
7 import net.sourceforge.pmd.PMD;
8 import net.sourceforge.pmd.ast.ASTCompilationUnit;
9 import net.sourceforge.pmd.ast.ASTInitializer;
10 import net.sourceforge.pmd.ast.JavaParser;
11 import net.sourceforge.pmd.ast.ASTFieldDeclaration;
12 import net.sourceforge.pmd.ast.ASTVariableDeclaratorId;
13 import net.sourceforge.pmd.symboltable.SymbolFacade;
14 import net.sourceforge.pmd.symboltable.VariableNameDeclaration;
15
16 import java.io.StringReader;
17 import java.util.List;
18 import java.util.Map;
19 import java.util.Iterator;
20
21 public class AcceptanceTest extends TestCase {
22
23 public void testClashingSymbols() {
24 JavaParser parser = new JavaParser(new StringReader(TEST1));
25 ASTCompilationUnit c = parser.CompilationUnit();
26 SymbolFacade stb = new SymbolFacade();
27 stb.initializeWith(c);
28 }
29
30 public void testInitializer() {
31 JavaParser parser = new JavaParser(new StringReader(TEST2));
32 ASTCompilationUnit c = parser.CompilationUnit();
33 ASTInitializer a = (ASTInitializer)(c.findChildrenOfType(ASTInitializer.class)).get(0);
34 assertFalse(a.isStatic());
35 }
36
37 public void testStaticInitializer() {
38 JavaParser parser = new JavaParser(new StringReader(TEST3));
39 ASTCompilationUnit c = parser.CompilationUnit();
40 ASTInitializer a = (ASTInitializer)(c.findChildrenOfType(ASTInitializer.class)).get(0);
41 assertTrue(a.isStatic());
42 }
43
44 public void testFindFieldDecl() {
45 JavaParser parser = new JavaParser(new StringReader(TEST4));
46 ASTCompilationUnit c = parser.CompilationUnit();
47 SymbolFacade stb = new SymbolFacade();
48 stb.initializeWith(c);
49 List children = c.findChildrenOfType(ASTVariableDeclaratorId.class);
50 ASTVariableDeclaratorId v1 = (ASTVariableDeclaratorId)children.get(0);
51 }
52
53 private static final String TEST1 =
54 "import java.io.*;" + PMD.EOL +
55 "public class Foo {" + PMD.EOL +
56 " void buz( ) {" + PMD.EOL +
57 " Object o = new Serializable() { int x; };" + PMD.EOL +
58 " Object o1 = new Serializable() { int x; };" + PMD.EOL +
59 " }" + PMD.EOL +
60 "}" + PMD.EOL;
61
62 private static final String TEST2 =
63 "public class Foo {" + PMD.EOL +
64 " {} " + PMD.EOL +
65 "}" + PMD.EOL;
66
67 private static final String TEST3 =
68 "public class Foo {" + PMD.EOL +
69 " static {} " + PMD.EOL +
70 "}" + PMD.EOL;
71
72 private static final String TEST4 =
73 "public class Foo {" + PMD.EOL +
74 " String bar; " + PMD.EOL +
75 " String baz; " + PMD.EOL +
76 "}" + PMD.EOL;
77
78 }
This page was automatically generated by Maven