View Javadoc
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.ast.ASTVariableDeclaratorId; 8 import net.sourceforge.pmd.ast.SimpleNode; 9 import net.sourceforge.pmd.symboltable.ClassScope; 10 import net.sourceforge.pmd.symboltable.NameOccurrence; 11 import net.sourceforge.pmd.symboltable.VariableNameDeclaration; 12 13 public class ClassScopeTest extends TestCase { 14 15 public void testContains() { 16 ClassScope s = new ClassScope("Foo"); 17 ASTVariableDeclaratorId node = new ASTVariableDeclaratorId(1); 18 node.setImage("bar"); 19 s.addDeclaration(new VariableNameDeclaration(node)); 20 assertTrue(s.getVariableDeclarations(false).keySet().iterator().hasNext()); 21 } 22 23 public void testCantContainsSuperToString() { 24 ClassScope s = new ClassScope("Foo"); 25 SimpleNode node = new SimpleNode(1); 26 node.setImage("super.toString"); 27 assertTrue(!s.contains(new NameOccurrence(node, node.getImage()))); 28 } 29 30 public void testContainsStaticVariablePrefixedWithClassName() { 31 ClassScope s = new ClassScope("Foo"); 32 ASTVariableDeclaratorId node = new ASTVariableDeclaratorId(1); 33 node.setImage("X"); 34 s.addDeclaration(new VariableNameDeclaration(node)); 35 36 SimpleNode node2 = new SimpleNode(2); 37 node2.setImage("Foo.X"); 38 assertTrue(s.contains(new NameOccurrence(node2, node2.getImage()))); 39 } 40 41 public void testClassName() { 42 ClassScope s = new ClassScope("Foo"); 43 assertEquals("Foo", s.getClassName()); 44 } 45 46 // FIXME - these will break when this goes from Anonymous$1 to Foo$1 47 public void testAnonymousInnerClassName() { 48 ClassScope s = new ClassScope(); 49 assertEquals("Anonymous$1", s.getClassName()); 50 s = new ClassScope(); 51 assertEquals("Anonymous$2", s.getClassName()); 52 } 53 54 55 }

This page was automatically generated by Maven