diff options
author | Andy Clement <aclement@pivotal.io> | 2018-10-01 16:10:02 -0700 |
---|---|---|
committer | Andy Clement <aclement@pivotal.io> | 2018-10-01 16:10:02 -0700 |
commit | 749b9cb3ca8e4680fca4252b0d782b7154eccb75 (patch) | |
tree | c2abf1231aac79a08469c92b319b4882991bf3b7 /tests/src | |
parent | f6d9aaaf05eca3aaf06d3a769a83f302b0501dca (diff) | |
download | aspectj-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.java | 26 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc192/ajc192.xml | 17 |
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> |