diff options
Diffstat (limited to 'tests/java5')
-rw-r--r-- | tests/java5/ataspectj/SimpleBefore.java | 10 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/PrecedenceTest.java | 7 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/misuse/Test005.java | 14 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/misuse/Test006.java | 15 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/misuse/Test008.java | 14 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/misuse/Test010.java | 8 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/misuse/Test014.java | 11 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/misuse/Test016.java | 10 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/misuse/Test019.java | 11 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/misuse/Test020.java | 11 | ||||
-rw-r--r-- | tests/java5/ataspectj/ataspectj/misuse/Test021.java | 12 |
11 files changed, 123 insertions, 0 deletions
diff --git a/tests/java5/ataspectj/SimpleBefore.java b/tests/java5/ataspectj/SimpleBefore.java index 8b5019f94..415cc31db 100644 --- a/tests/java5/ataspectj/SimpleBefore.java +++ b/tests/java5/ataspectj/SimpleBefore.java @@ -1,8 +1,18 @@ import org.aspectj.lang.annotation.*; +import java.lang.annotation.Annotation; + public class SimpleBefore { public static void main(String []argv) { + + Class x = X.class; + Aspect ann = (Aspect) x.getAnnotation(Aspect.class); + if (ann == null) { + throw new RuntimeException("could not see runtime visible annotation"); + } + + SimpleBefore instance = new SimpleBefore(); X.s.append("1"); instance.m(); diff --git a/tests/java5/ataspectj/ataspectj/PrecedenceTest.java b/tests/java5/ataspectj/ataspectj/PrecedenceTest.java index c5959fc4b..fe96161f8 100644 --- a/tests/java5/ataspectj/ataspectj/PrecedenceTest.java +++ b/tests/java5/ataspectj/ataspectj/PrecedenceTest.java @@ -18,6 +18,8 @@ import org.aspectj.lang.annotation.DeclarePrecedence; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; +import java.lang.annotation.Annotation; + /** * @author <a href="mailto:alex AT gnilux DOT com">Alexandre Vasseur</a> */ @@ -40,6 +42,11 @@ public class PrecedenceTest extends TestCase { log("hello"); } + public void testRuntimeVisible() { + Annotation annotation = TestAspect_Order.class.getAnnotation(DeclarePrecedence.class); + assertNotNull(annotation); + } + public void testPrecedence() { s_log = new StringBuffer(); hello(); diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test005.java b/tests/java5/ataspectj/ataspectj/misuse/Test005.java new file mode 100644 index 000000000..428e002dd --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/misuse/Test005.java @@ -0,0 +1,14 @@ +// "@Aspect class extending @Aspect class" +package ataspectj.misuse; + +import org.aspectj.lang.annotation.*; + +@Aspect +public class Test005 { + + @Aspect + public static class Test005B extends Test005 { + } + + +} diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test006.java b/tests/java5/ataspectj/ataspectj/misuse/Test006.java new file mode 100644 index 000000000..5b342b6a8 --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/misuse/Test006.java @@ -0,0 +1,15 @@ +// "class with @Before extending @Aspect class" + +// shouldn't allow advice in a non-aspect type +package ataspectj.misuse; + +import org.aspectj.lang.annotation.*; + +@Aspect +public class Test006{ +} +class Test006B extends Test006{ + @Before("call(* org..*(..))") + public void someCall(){ + } +} diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test008.java b/tests/java5/ataspectj/ataspectj/misuse/Test008.java new file mode 100644 index 000000000..04dbdb1f2 --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/misuse/Test008.java @@ -0,0 +1,14 @@ +// "@Pointcut not returning void" +package ataspectj.misuse; + + +import org.aspectj.lang.annotation.*; + + +@Aspect +class Test008{ + @Pointcut("call(* *.*(..))") + int someCall(){ + return 42; + } +} diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test010.java b/tests/java5/ataspectj/ataspectj/misuse/Test010.java new file mode 100644 index 000000000..8656424c4 --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/misuse/Test010.java @@ -0,0 +1,8 @@ +// "@Aspect on interface" +package ataspectj.misuse; + +import org.aspectj.lang.annotation.*; + +@Aspect +interface Test010{ +} diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test014.java b/tests/java5/ataspectj/ataspectj/misuse/Test014.java new file mode 100644 index 000000000..9e135a93c --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/misuse/Test014.java @@ -0,0 +1,11 @@ +// "@Pointcut with garbage string" +package ataspectj.misuse; + +import org.aspectj.lang.annotation.*; + +@Aspect +public class Test014{ + @Pointcut("call%dddd\n\n\n\n\n\n\n\n\n\n\n%dwdwudwdwbuill817pe;][{\ngrgrgnjk78877&&<:{{{+=``\"") + void somecall(){ + } +} diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test016.java b/tests/java5/ataspectj/ataspectj/misuse/Test016.java new file mode 100644 index 000000000..8a50afa74 --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/misuse/Test016.java @@ -0,0 +1,10 @@ +// "@Pointcut with throws clause" +package ataspectj.misuse; + +import org.aspectj.lang.annotation.*; + +@Aspect +public class Test016{ + @Pointcut("call(* *.*(..))") + void someCall() throws Exception {} +} diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test019.java b/tests/java5/ataspectj/ataspectj/misuse/Test019.java new file mode 100644 index 000000000..301c3de35 --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/misuse/Test019.java @@ -0,0 +1,11 @@ +// "@AfterReturning with wrong number of args" +package ataspectj.misuse; + +import org.aspectj.lang.annotation.*; + +@Aspect +public class Test019 { + @AfterReturning(value="call(* *..*(..))",returning="f") + public void itsAFoo(Object f, int x) { + } +} diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test020.java b/tests/java5/ataspectj/ataspectj/misuse/Test020.java new file mode 100644 index 000000000..044f527d8 --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/misuse/Test020.java @@ -0,0 +1,11 @@ +// "@Before on non-public method" +package ataspectj.misuse; + +import org.aspectj.lang.annotation.*; + +@Aspect +public class Test020 { + @Before("call(* org..*(..))") + private void someCall(){ + } +} diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test021.java b/tests/java5/ataspectj/ataspectj/misuse/Test021.java new file mode 100644 index 000000000..ac230adee --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/misuse/Test021.java @@ -0,0 +1,12 @@ +// "@Before on method not returning void" +package ataspectj.misuse; + +import org.aspectj.lang.annotation.*; + +@Aspect +public class Test021 { + @Before("call(* org..*(..))") + public int someCall(){ + return 42; + } +} |