From cb775240056309c20aac308be5ab2abd9696be84 Mon Sep 17 00:00:00 2001 From: jhugunin Date: Wed, 5 Mar 2003 21:46:49 +0000 Subject: Bugzilla Bug 33635 Negation of if pointcut does not work --- tests/bugs/NotIf.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/bugs/NotIf.java (limited to 'tests/bugs/NotIf.java') diff --git a/tests/bugs/NotIf.java b/tests/bugs/NotIf.java new file mode 100644 index 000000000..3220104c7 --- /dev/null +++ b/tests/bugs/NotIf.java @@ -0,0 +1,49 @@ +// for Bug#: 33635 +import org.aspectj.testing.Tester; + + +public class NotIf { + public static void main(String[] args) { + Tester.checkEqual(Aspect1.ranNone, 0, "shouldn't run"); + Tester.checkEqual(Aspect1.ranTwo, 2, "should run"); + Tester.checkEqual(Aspect2.ran, 1, "should run with values"); + } +} + +aspect Aspect1 { + static int ranNone = 0; + static int ranTwo = 0; + + static boolean testTrue() { return true; } + + static boolean testFalse() { return false; } + + before(): execution(void main(..)) && !if(testTrue()) { + ranNone += 1; + } + + before(): execution(void main(..)) && if(!testTrue()) { + ranNone += 1; + } + before(): execution(void main(..)) && !if(testFalse()) { + ranTwo += 1; + } + + before(): execution(void main(..)) && if(!testFalse()) { + ranTwo += 1; + } +} + +aspect Aspect2 { + static int ran = 0; + + static boolean testValues(int i, String s, Object o) { + return false; + } + + before(String[] a): execution(void main(String[])) && + !if(testValues(a.length, a.toString(), a)) && args(a) + { + ran += 1; + } +} -- cgit v1.2.3