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.TargetJDK1_4; 9 import net.sourceforge.pmd.ast.ASTCompilationUnit; 10 import net.sourceforge.pmd.ast.ASTInitializer; 11 import net.sourceforge.pmd.ast.ASTVariableDeclaratorId; 12 import net.sourceforge.pmd.ast.JavaParser; 13 import net.sourceforge.pmd.symboltable.SymbolFacade; 14 15 import java.io.StringReader; 16 import java.util.List; 17 18 public class AcceptanceTest extends TestCase { 19 20 public void testClashingSymbols() { 21 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader(TEST1)); 22 ASTCompilationUnit c = parser.CompilationUnit(); 23 SymbolFacade stb = new SymbolFacade(); 24 stb.initializeWith(c); 25 } 26 27 public void testInitializer() { 28 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader(TEST_NON_STATIC_INITIALIZER)); 29 ASTCompilationUnit c = parser.CompilationUnit(); 30 ASTInitializer a = (ASTInitializer)(c.findChildrenOfType(ASTInitializer.class)).get(0); 31 assertFalse(a.isStatic()); 32 } 33 34 public void testStaticInitializer() { 35 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader(TEST_STATIC_INITIALIZER)); 36 ASTCompilationUnit c = parser.CompilationUnit(); 37 ASTInitializer a = (ASTInitializer)(c.findChildrenOfType(ASTInitializer.class)).get(0); 38 assertTrue(a.isStatic()); 39 } 40 41 public void testFindFieldDecl() { 42 JavaParser parser = (new TargetJDK1_4()).createParser(new StringReader(TEST4)); 43 ASTCompilationUnit c = parser.CompilationUnit(); 44 SymbolFacade stb = new SymbolFacade(); 45 stb.initializeWith(c); 46 List children = c.findChildrenOfType(ASTVariableDeclaratorId.class); 47 ASTVariableDeclaratorId v1 = (ASTVariableDeclaratorId)children.get(0); 48 } 49 50 private static final String TEST1 = 51 "import java.io.*;" + PMD.EOL + 52 "public class Foo {" + PMD.EOL + 53 " void buz( ) {" + PMD.EOL + 54 " Object o = new Serializable() { int x; };" + PMD.EOL + 55 " Object o1 = new Serializable() { int x; };" + PMD.EOL + 56 " }" + PMD.EOL + 57 "}" + PMD.EOL; 58 59 private static final String TEST_NON_STATIC_INITIALIZER = 60 "public class Foo {" + PMD.EOL + 61 " {} " + PMD.EOL + 62 "}" + PMD.EOL; 63 64 private static final String TEST_STATIC_INITIALIZER = 65 "public class Foo {" + PMD.EOL + 66 " static {} " + PMD.EOL + 67 "}" + PMD.EOL; 68 69 private static final String TEST4 = 70 "public class Foo {" + PMD.EOL + 71 " String bar; " + PMD.EOL + 72 " String baz; " + PMD.EOL + 73 "}" + PMD.EOL; 74 75 }