diff options
author | Andy Clement <andrew.clement@gmail.com> | 2012-07-10 10:18:35 -0700 |
---|---|---|
committer | Andy Clement <andrew.clement@gmail.com> | 2012-07-10 10:18:35 -0700 |
commit | bf949d3260232dd69a5fd3a2b81a19cb3dd1a6a6 (patch) | |
tree | a128790e3b29e568bc3044ae9ef6cf2c1162b315 /tests | |
parent | 5d0e1860cb5069b266ba70d33bc356d36e285a90 (diff) | |
download | aspectj-bf949d3260232dd69a5fd3a2b81a19cb3dd1a6a6.tar.gz aspectj-bf949d3260232dd69a5fd3a2b81a19cb3dd1a6a6.zip |
384398: some fixes for generics/itds/inner classes
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/bugs171/pr384398/A.java | 9 | ||||
-rwxr-xr-x | tests/bugs171/pr384398/B.java | 13 | ||||
-rwxr-xr-x | tests/bugs171/pr384398/BAspect.aj | 15 | ||||
-rwxr-xr-x | tests/bugs171/pr384398_2/A.java | 9 | ||||
-rwxr-xr-x | tests/bugs171/pr384398_2/B.java | 14 | ||||
-rwxr-xr-x | tests/bugs171/pr384398_2/BAspect.aj | 16 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/AllTests17.java | 2 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc171/Ajc171Tests.java | 43 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc171/AllTestsAspectJ171.java | 25 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc171/ajc171.xml | 37 |
10 files changed, 183 insertions, 0 deletions
diff --git a/tests/bugs171/pr384398/A.java b/tests/bugs171/pr384398/A.java new file mode 100755 index 000000000..bc79f0699 --- /dev/null +++ b/tests/bugs171/pr384398/A.java @@ -0,0 +1,9 @@ +package de.example;
+
+public class A<T> {
+ public static class InnerA{
+
+ }
+
+
+}
diff --git a/tests/bugs171/pr384398/B.java b/tests/bugs171/pr384398/B.java new file mode 100755 index 000000000..4673547a0 --- /dev/null +++ b/tests/bugs171/pr384398/B.java @@ -0,0 +1,13 @@ +package de.example;
+
+public class B extends A<String> {
+/* + InnerA someMethod(){ + return new InnerA(); + } + + InnerA someOtherMethod(){ + return someMethod(); + } +*/ +}
diff --git a/tests/bugs171/pr384398/BAspect.aj b/tests/bugs171/pr384398/BAspect.aj new file mode 100755 index 000000000..2a580f238 --- /dev/null +++ b/tests/bugs171/pr384398/BAspect.aj @@ -0,0 +1,15 @@ +package de.example;
+
+import de.example.A.InnerA;
+
+public aspect BAspect {
+
+ InnerA B.someMethod(){
+ return new InnerA();
+ }
+
+ InnerA B.someOtherMethod(){
+ return someMethod();
+ }
+
+}
diff --git a/tests/bugs171/pr384398_2/A.java b/tests/bugs171/pr384398_2/A.java new file mode 100755 index 000000000..9b7049050 --- /dev/null +++ b/tests/bugs171/pr384398_2/A.java @@ -0,0 +1,9 @@ +package de.example;
+
+public class A<T> {
+ public class InnerA {
+ T aaa; + }
+
+
+}
diff --git a/tests/bugs171/pr384398_2/B.java b/tests/bugs171/pr384398_2/B.java new file mode 100755 index 000000000..3e3868445 --- /dev/null +++ b/tests/bugs171/pr384398_2/B.java @@ -0,0 +1,14 @@ +package de.example;
+
+public class B extends A<String> { +/* + InnerA someMethod(){ + A<String> as = new A<String>(); + return as.new InnerA(); + } + + InnerA someOtherMethod() { + return someMethod(); + } +*/ +} diff --git a/tests/bugs171/pr384398_2/BAspect.aj b/tests/bugs171/pr384398_2/BAspect.aj new file mode 100755 index 000000000..fcba89b39 --- /dev/null +++ b/tests/bugs171/pr384398_2/BAspect.aj @@ -0,0 +1,16 @@ +package de.example;
+
+import de.example.A.InnerA;
+
+public aspect BAspect {
+
+ InnerA B.someMethod(){
+ A<String> as = new A<String>(); + return as.new InnerA();
+ }
+
+ InnerA B.someOtherMethod(){
+ return someMethod();
+ }
+
+}
diff --git a/tests/src/org/aspectj/systemtest/AllTests17.java b/tests/src/org/aspectj/systemtest/AllTests17.java index f026ae59a..37a02c350 100644 --- a/tests/src/org/aspectj/systemtest/AllTests17.java +++ b/tests/src/org/aspectj/systemtest/AllTests17.java @@ -7,12 +7,14 @@ import junit.framework.Test; import junit.framework.TestSuite; import org.aspectj.systemtest.ajc170.AllTestsAspectJ170; +import org.aspectj.systemtest.ajc171.AllTestsAspectJ171; public class AllTests17 { public static Test suite() { TestSuite suite = new TestSuite("AspectJ System Test Suite - JDK 1.7"); // $JUnit-BEGIN$ + suite.addTest(AllTestsAspectJ171.suite()); suite.addTest(AllTestsAspectJ170.suite()); suite.addTest(AllTests16.suite()); suite.addTest(AllTests15.suite()); diff --git a/tests/src/org/aspectj/systemtest/ajc171/Ajc171Tests.java b/tests/src/org/aspectj/systemtest/ajc171/Ajc171Tests.java new file mode 100644 index 000000000..17c8ea4f5 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc171/Ajc171Tests.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2012 Contributors + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Andy Clement - initial API and implementation + *******************************************************************************/ +package org.aspectj.systemtest.ajc171; + +import java.io.File; + +import junit.framework.Test; + +import org.aspectj.testing.XMLBasedAjcTestCase; + +/** + * @author Andy Clement + */ +public class Ajc171Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public void testGenerics_384398() { + runTest("generics itds"); + } + +// public void testGenerics_384398_2() { +// runTest("generics itds 2"); +// } + + // --- + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(Ajc171Tests.class); + } + + @Override + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/ajc171/ajc171.xml"); + } + +} diff --git a/tests/src/org/aspectj/systemtest/ajc171/AllTestsAspectJ171.java b/tests/src/org/aspectj/systemtest/ajc171/AllTestsAspectJ171.java new file mode 100644 index 000000000..78e321b84 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc171/AllTestsAspectJ171.java @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2008 Contributors + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Andy Clement - initial API and implementation + *******************************************************************************/ +package org.aspectj.systemtest.ajc171; + +import junit.framework.Test; +import junit.framework.TestSuite; + +public class AllTestsAspectJ171 { + + public static Test suite() { + TestSuite suite = new TestSuite("AspectJ 1.7.1 tests"); + // $JUnit-BEGIN$ + suite.addTest(Ajc171Tests.suite()); + // $JUnit-END$ + return suite; + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc171/ajc171.xml b/tests/src/org/aspectj/systemtest/ajc171/ajc171.xml new file mode 100644 index 000000000..d22d2d71a --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc171/ajc171.xml @@ -0,0 +1,37 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[]> + +<suite> + + <ajc-test dir="bugs171/pr384398" title="generics itds"> + <compile files="A.java B.java BAspect.aj" options="-1.5"> + <!-- + <message kind="weave" text="Join point 'constructor-call(void java.util.LinkedList.<init>())' in Type 'Foo' (Foo.java:41) advised by around advice from 'Bar' (Foo.java:14)"/> + --> + </compile> + <!-- + <run class="Foo"> + <stdout> + <line text="superaspect getNumber returns -2"/> + <line text="Bar.method() running"/> + <line text="abstract method returns []"/> + </stdout> + </run> --> + </ajc-test> + + <ajc-test dir="bugs171/pr384398_2" title="generics itds 2"> + <compile files="A.java B.java BAspect.aj" options="-1.5"> + <!-- + <message kind="weave" text="Join point 'constructor-call(void java.util.LinkedList.<init>())' in Type 'Foo' (Foo.java:41) advised by around advice from 'Bar' (Foo.java:14)"/> + --> + </compile> + <!-- + <run class="Foo"> + <stdout> + <line text="superaspect getNumber returns -2"/> + <line text="Bar.method() running"/> + <line text="abstract method returns []"/> + </stdout> + </run> --> + </ajc-test> + +</suite> |