aboutsummaryrefslogtreecommitdiffstats
path: root/tests/ajcTests.xml
diff options
context:
space:
mode:
authoracolyer <acolyer>2004-01-14 11:12:27 +0000
committeracolyer <acolyer>2004-01-14 11:12:27 +0000
commit5c4db9cb620918dcf064ddbfc50f54130d3b2cab (patch)
treeaac96c5782acfad95f20ccb6f50e930c083a96a0 /tests/ajcTests.xml
parentb8d42c06d69f44e8c87a9b7d3ea290de0d18ed37 (diff)
downloadaspectj-5c4db9cb620918dcf064ddbfc50f54130d3b2cab.tar.gz
aspectj-5c4db9cb620918dcf064ddbfc50f54130d3b2cab.zip
Fix for Bugzilla Bug 49784
declaring interface methods should work as it does in interface and Bugzilla Bug 45676 AspectJ enhanced code can not be used with plain old java anymo and Bugzilla Bug 43972 Static crosscutting makes interfaces unusable for javac
Diffstat (limited to 'tests/ajcTests.xml')
-rw-r--r--tests/ajcTests.xml114
1 files changed, 114 insertions, 0 deletions
diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml
index 4cb3a62c6..8b48f4cda 100644
--- a/tests/ajcTests.xml
+++ b/tests/ajcTests.xml
@@ -6971,4 +6971,118 @@
</compile>
<run class="AfterThrowingCtor"/>
</ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on abstract class not implemented by subtype">
+ <compile files="abstractClass/C.java"
+ aspectpath="abstractClass/jars/AandB.jar">
+ <message kind="error" line="1"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on interface not implemented by subtype (weave altogether)">
+ <compile files="interface/C.java,interface/A.java,interface/B.java" />
+ <run class="C"/>
+ </ajc-test>
+
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on interface not implemented by subtype (injars)">
+ <compile files="interface/C.java,interface/jars/AandB.jar">
+ <message kind="error" line="1"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on interface not implemented by subtype (aspectpath)">
+ <compile files="interface/C.java"
+ aspectpath="interface/jars/AandB.jar" />
+ <run class="C"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on abstract class not implemented by subtype (single source file)">
+ <compile files="singlesource/C.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on abstract class with introduced concrete method (single source file)">
+ <compile files="singlesource/C1.java"/>
+ <run class="C1"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on abstract class with existing concrete method (single source file)">
+ <compile files="singlesource/C2.java"/>
+ <run class="C2"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interAbstract"
+ pr="49784"
+ title="aspect declares interface method (no modifiers)">
+ <compile files="InterfaceMethodDeclarationNone.java" >
+ <message kind="error" line="32" text="requires a body" />
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interAbstract"
+ pr="49784"
+ title="aspect declares interface method (abstract)">
+ <compile files="InterfaceMethodDeclarationAbstract.java">
+ <message kind="error" line="40" text="must implement" />
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interAbstract"
+ pr="49784"
+ comment="working in 1.1.1 - keep with others?"
+ title="aspect declares interface method (public abstract)">
+ <compile files="InterfaceMethodDeclarationFull.java" />
+ <run class="InterfaceMethodDeclarationFull"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interfaceDefinition"
+ pr="43972"
+ title="Use class implementing interface via aspect (not woven together)">
+ <compile
+ files="pack/DefineInterface.java,
+ pack/InterfaceDefinition.java,
+ pack/MyInterface.java"/>
+ <run class="pack.InterfaceDefinition"/>
+ <compile
+ includeClassesDir="true"
+ files="Main.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interfaceDefinition"
+ pr="43972"
+ title="Use class implementing interface via aspect (weave all together)">
+ <compile
+ files="pack/DefineInterface.java,
+ pack/InterfaceDefinition.java,
+ pack/MyInterface.java,
+ Main.java"/>
+ <run class="pack.InterfaceDefinition"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interfaceDefinition"
+ pr="43972"
+ title="Use class implementing interface via aspect (only one implementer)">
+ <compile
+ files="pack/DefineInterface.java,
+ pack/InterfaceDefinition.java,
+ pack/MyInterface.java"/>
+ <run class="pack.InterfaceDefinition"/>
+ <compile
+ includeClassesDir="true"
+ files="Main1.java"/>
+ <run class="Main1"/>
+ </ajc-test>
+
</suite>