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