1 package net.sourceforge.pmd.lang.java.ast;
2
3 import net.sourceforge.pmd.PMD;
4 import net.sourceforge.pmd.lang.LanguageRegistry;
5 import net.sourceforge.pmd.lang.java.JavaLanguageModule;
6 import net.sourceforge.pmd.lang.java.ParserTst;
7
8 import org.junit.Test;
9
10
11 public class ASTAnnotationTest extends ParserTst {
12
13 @Test
14 public void testAnnotationSucceedsWithDefaultMode() throws Throwable {
15 getNodes(ASTAnnotation.class, TEST1);
16 }
17
18 @Test(expected = ParseException.class)
19 public void testAnnotationFailsWithJDK14() throws Throwable {
20 getNodes(LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("1.4"), ASTAnnotation.class, TEST1);
21 }
22
23 @Test
24 public void testAnnotationSucceedsWithJDK15() throws Throwable {
25 getNodes(LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("1.5"), ASTAnnotation.class, TEST1);
26 }
27
28 private static final String TEST1 =
29 "public class Foo extends Buz {" + PMD.EOL +
30 " @Override" + PMD.EOL +
31 " void bar() {" + PMD.EOL +
32 " // overrides a superclass method" + PMD.EOL +
33 " }" + PMD.EOL +
34 "}";
35
36 public static junit.framework.Test suite() {
37 return new junit.framework.JUnit4TestAdapter(ASTAnnotationTest.class);
38 }
39 }