View Javadoc

    1   package net.sourceforge.pmd.symboltable;
    2
    3   import static org.junit.Assert.assertEquals;
    4   import net.sourceforge.pmd.PMD;
    5   import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit;
    6   import net.sourceforge.pmd.lang.java.symboltable.ClassNameDeclaration;
    7   import net.sourceforge.pmd.lang.java.symboltable.Scope;
    8
    9   import org.junit.Test;
    10
    11  import java.util.Map;
    12
    13  public class GlobalScopeTest extends STBBaseTst {
    14
    15      @Test
    16      public void testClassDeclAppears() {
    17          parseCode(TEST1);
    18          ASTCompilationUnit decl = acu;
    19          Scope scope = decl.getScope();
    20          Map m = scope.getClassDeclarations();
    21          ClassNameDeclaration classNameDeclaration = (ClassNameDeclaration) m.keySet().iterator().next();
    22          assertEquals(classNameDeclaration.getImage(), "Foo");
    23      }
    24
    25      @Test
    26      public void testEnums() {
    27          parseCode15(TEST2);
    28      }
    29
    30      private static final String TEST1 =
    31              "public class Foo {}" + PMD.EOL;
    32
    33      private static final String TEST2 =
    34              "public enum Bar {" + PMD.EOL +
    35              "  FOO1 {          " + PMD.EOL +
    36              "    private static final String FIELD_NAME = \"\";" + PMD.EOL +
    37              "  }," + PMD.EOL +
    38              "  FOO2 {          " + PMD.EOL +
    39              "    private static final String FIELD_NAME = \"\";" + PMD.EOL +
    40              "  }" + PMD.EOL +
    41              "}" + PMD.EOL;
    42
    43      public static junit.framework.Test suite() {
    44          return new junit.framework.JUnit4TestAdapter(GlobalScopeTest.class);
    45      }
    46  }