summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs181/433351/ClassProj1.java8
-rw-r--r--tests/bugs181/433351/ClassProj2.java9
-rw-r--r--tests/bugs181/433351/Extender2.aj10
-rw-r--r--tests/bugs181/433351/Extender3.aj10
-rw-r--r--tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java12
-rw-r--r--tests/src/org/aspectj/systemtest/ajc181/ajc181.xml24
6 files changed, 72 insertions, 1 deletions
diff --git a/tests/bugs181/433351/ClassProj1.java b/tests/bugs181/433351/ClassProj1.java
new file mode 100644
index 000000000..ce06e88ab
--- /dev/null
+++ b/tests/bugs181/433351/ClassProj1.java
@@ -0,0 +1,8 @@
+package test;
+
+public abstract class ClassProj1<T> implements InterfaceProj1<String> {
+
+ public int aMethod() {
+ return 1;
+ }
+}
diff --git a/tests/bugs181/433351/ClassProj2.java b/tests/bugs181/433351/ClassProj2.java
new file mode 100644
index 000000000..2aca8b08e
--- /dev/null
+++ b/tests/bugs181/433351/ClassProj2.java
@@ -0,0 +1,9 @@
+package test.extender;
+
+public abstract class ClassProj2<T> implements InterfaceProj2<T> {
+
+ public int bMethod() {
+ return 2;
+ }
+
+}
diff --git a/tests/bugs181/433351/Extender2.aj b/tests/bugs181/433351/Extender2.aj
new file mode 100644
index 000000000..351c70eeb
--- /dev/null
+++ b/tests/bugs181/433351/Extender2.aj
@@ -0,0 +1,10 @@
+package test.extender;
+import test.*;
+
+public aspect Extender2 {
+
+ declare parents: InterfaceProj1 extends java.io.Serializable;
+
+// declare parents: test.ClassProj1 extends ClassProj2;
+
+}
diff --git a/tests/bugs181/433351/Extender3.aj b/tests/bugs181/433351/Extender3.aj
new file mode 100644
index 000000000..9fcda9e52
--- /dev/null
+++ b/tests/bugs181/433351/Extender3.aj
@@ -0,0 +1,10 @@
+package test.extender;
+import test.*;
+
+public aspect Extender3 {
+
+ declare parents: InterfaceProj1 extends InterfaceProj2;
+
+ declare parents: test.ClassProj1 extends ClassProj2;
+
+}
diff --git a/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java b/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java
index 24c07b03f..44120eb47 100644
--- a/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java
@@ -22,6 +22,18 @@ import org.aspectj.testing.XMLBasedAjcTestCase;
*/
public class Ajc181Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+ public void testJarWeaving_433351_4() {
+ runTest("jar weaving 4");
+ }
+
+ public void testJarWeaving_433351_3() {
+ runTest("jar weaving 3");
+ }
+
+ public void testJarWeaving_433351_2() {
+ runTest("jar weaving 2");
+ }
+
public void testJarWeaving_433351() {
runTest("jar weaving");
}
diff --git a/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml b/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml
index 314aaf712..576c741f6 100644
--- a/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml
+++ b/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml
@@ -3,12 +3,34 @@
<suite>
<ajc-test dir="bugs181/433351" title="jar weaving">
- <compile options="-1.5" files="InterfaceProj1.java" outjar="code.jar"/>
+ <compile options="-1.5" files="InterfaceProj1.java" outjar="code.jar"/>
<compile options="-1.5 -showWeaveInfo" inpath="code.jar" files="Extender.aj InterfaceProj2.java">
<message kind="weave" text="Extending interface set for type 'test.InterfaceProj1' (InterfaceProj1.java) to include 'test.extender.InterfaceProj2' (Extender.aj)"/>
</compile>
</ajc-test>
+ <ajc-test dir="bugs181/433351" title="jar weaving 2">
+ <compile options="-1.5" files="InterfaceProj1.java ClassProj1.java" outjar="code.jar"/>
+ <compile options="-1.5 -showWeaveInfo" inpath="code.jar" files="Extender2.aj" outjar="code2.jar">
+ <message kind="weave" text="Extending interface set for type 'test.InterfaceProj1' (InterfaceProj1.java) to include 'java.io.Serializable' (Extender2.aj)"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs181/433351" title="jar weaving 3">
+ <compile options="-1.5" files="InterfaceProj1.java ClassProj1.java" outjar="code.jar"/>
+ <compile options="-1.5 -showWeaveInfo" inpath="code.jar" files="Extender3.aj InterfaceProj2.java ClassProj2.java" outjar="code2.jar">
+ <message kind="weave" text="Setting superclass of type 'test.ClassProj1' (ClassProj1.java) to 'test.extender.ClassProj2' (Extender3.aj)"/>
+ <message kind="weave" text="Extending interface set for type 'test.InterfaceProj1' (InterfaceProj1.java) to include 'test.extender.InterfaceProj2' (Extender3.aj)"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs181/433351" title="jar weaving 4">
+ <compile options="-1.5" files="ClassProj1.java InterfaceProj1.java" outjar="code.jar"/>
+ <compile options="-1.5 -showWeaveInfo" inpath="code.jar" files="Extender2.aj" outjar="code2.jar">
+ <message kind="weave" text="Extending interface set for type 'test.InterfaceProj1' (InterfaceProj1.java) to include 'java.io.Serializable' (Extender2.aj)"/>
+ </compile>
+ </ajc-test>
+
<ajc-test dir="bugs181/436531" title="parameter names attribute">
<compile options="-1.8" files="Azpect.java" inpath="code.jar"/>
</ajc-test>