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 }