diff options
Diffstat (limited to 'tests/new/AssertInIntro.java')
-rw-r--r-- | tests/new/AssertInIntro.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/new/AssertInIntro.java b/tests/new/AssertInIntro.java new file mode 100644 index 000000000..395eaa0d4 --- /dev/null +++ b/tests/new/AssertInIntro.java @@ -0,0 +1,45 @@ +import org.aspectj.testing.Tester; + +public class AssertInIntro { + + public static void main(String[] args) { + turnOnAssertions(); + runTests(); + } + + static void turnOnAssertions() { + ClassLoader cl = AssertInIntro.class.getClassLoader(); + cl.setClassAssertionStatus("C", false); + cl.setClassAssertionStatus("A", true); + } + + static void runTests() { + boolean failed = false; + try { + C.foo(); + } catch (AssertionError e) { + failed = true; + } + Tester.check(failed, "introduced assertions improperly off"); + + failed = false; + try { + C.goo(); + } catch (AssertionError e) { + failed = true; + } + Tester.check(!failed, "non-introduced assertions improperly on"); + } +} + +class C { + static void goo() { + assert false; + } +} + +aspect A { + static void C.foo() { + assert false; + } +} |