aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorAndy Clement <aclement@pivotal.io>2018-10-01 16:10:02 -0700
committerAndy Clement <aclement@pivotal.io>2018-10-01 16:10:02 -0700
commit749b9cb3ca8e4680fca4252b0d782b7154eccb75 (patch)
treec2abf1231aac79a08469c92b319b4882991bf3b7 /tests/src
parentf6d9aaaf05eca3aaf06d3a769a83f302b0501dca (diff)
downloadaspectj-749b9cb3ca8e4680fca4252b0d782b7154eccb75.tar.gz
aspectj-749b9cb3ca8e4680fca4252b0d782b7154eccb75.zip
More fixes for 1.9.2V1_9_2_RC2
- update to more recent JDT to pickup Nestmates fix - bcel updated for NestMembers/NestHost attributes - testcases for nestmates
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/org/aspectj/systemtest/ajc192/Ajc192Tests.java26
-rw-r--r--tests/src/org/aspectj/systemtest/ajc192/ajc192.xml17
2 files changed, 43 insertions, 0 deletions
diff --git a/tests/src/org/aspectj/systemtest/ajc192/Ajc192Tests.java b/tests/src/org/aspectj/systemtest/ajc192/Ajc192Tests.java
index 66bae0c9d..84e0f9d39 100644
--- a/tests/src/org/aspectj/systemtest/ajc192/Ajc192Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc192/Ajc192Tests.java
@@ -12,6 +12,9 @@ package org.aspectj.systemtest.ajc192;
import java.io.File;
+import org.aspectj.apache.bcel.classfile.JavaClass;
+import org.aspectj.apache.bcel.classfile.NestHost;
+import org.aspectj.apache.bcel.classfile.NestMembers;
import org.aspectj.testing.XMLBasedAjcTestCase;
import junit.framework.Test;
@@ -21,6 +24,29 @@ import junit.framework.Test;
*/
public class Ajc192Tests extends XMLBasedAjcTestCase {
+ public void testNestmates() throws Exception {
+ runTest("nestmates");
+ JavaClass outer = getClassFrom(ajc.getSandboxDirectory(), "Outer");
+ JavaClass inner = getClassFrom(ajc.getSandboxDirectory(), "Outer$Inner");
+ NestMembers nestMembers = (NestMembers) getAttributeStartsWith(outer.getAttributes(),"NestMembers");
+ assertEquals(1,nestMembers.getClasses().length);
+ assertEquals("Outer$Inner",nestMembers.getClassesNames()[0]);
+ NestHost nestHost = (NestHost) getAttributeStartsWith(inner.getAttributes(),"NestHost");
+ assertEquals("Outer",nestHost.getHostClassName());
+ }
+
+ // Verifying not destroyed on weaving
+ public void testNestmates2() throws Exception {
+ runTest("nestmates 2");
+ JavaClass outer = getClassFrom(ajc.getSandboxDirectory(), "Outer2");
+ JavaClass inner = getClassFrom(ajc.getSandboxDirectory(), "Outer2$Inner2");
+ NestMembers nestMembers = (NestMembers) getAttributeStartsWith(outer.getAttributes(),"NestMembers");
+ assertEquals(1,nestMembers.getClasses().length);
+ assertEquals("Outer2$Inner2",nestMembers.getClassesNames()[0]);
+ NestHost nestHost = (NestHost) getAttributeStartsWith(inner.getAttributes(),"NestHost");
+ assertEquals("Outer2",nestHost.getHostClassName());
+ }
+
public void testCflowFinal() {
runTest("no final on cflow elements");
}
diff --git a/tests/src/org/aspectj/systemtest/ajc192/ajc192.xml b/tests/src/org/aspectj/systemtest/ajc192/ajc192.xml
index 5eb7fcbbb..eb846e7cf 100644
--- a/tests/src/org/aspectj/systemtest/ajc192/ajc192.xml
+++ b/tests/src/org/aspectj/systemtest/ajc192/ajc192.xml
@@ -2,6 +2,23 @@
<suite>
+ <ajc-test dir="bugs192/nestmates" title="nestmates">
+ <compile files="Outer.java" options="-11">
+ </compile>
+ </ajc-test>
+
+
+ <ajc-test dir="bugs192/nestmates" title="nestmates 2">
+ <compile files="Outer2.java" options="-11">
+ </compile>
+ <run class="Outer2">
+ <stdout>
+ <line text="Before main()"/>
+ <line text="Before i"/>
+ <line text="0"/>
+ </stdout></run>
+ </ajc-test>
+
<ajc-test dir="bugs192/537825" title="no final on cflow elements">
<compile files="Code.java" options="-9">
</compile>