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