瀏覽代碼

has member tests + tests and fix for pr107486

tags/V1_5_0M3
acolyer 19 年之前
父節點
當前提交
0f0c63e0b2

+ 9
- 0
tests/bugs150/pr107486.aj 查看文件

@@ -0,0 +1,9 @@
public class pr107486 {
public Object f() {
return new Object() {
public String toString() {
return "f";
}
};
}
}

+ 30
- 0
tests/bugs150/pr107486part2.aj 查看文件

@@ -0,0 +1,30 @@
public class pr107486part2 {
public Object f() {
return new Object() {
public String toString() {
return "f";
}
};
}
public Object g() {
return new Object() {
public String toString() {
return "g";
}
};
}
public static void main(String[] args) {
pr107486part2 p = new pr107486part2();
System.out.println(p.f());
System.out.println(p.g());
}
}

aspect ToStringDecorator {
Object around() : execution(* toString()) {
return new String("[advised] " + proceed());
}
}

+ 8
- 0
tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java 查看文件

@@ -262,6 +262,14 @@ public class Ajc150Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
runTest("itd override with no exception clause");
}
public void testAnonymousInnerClasses() {
runTest("anonymous inner classes");
}

public void testMultipleAnonymousInnerClasses() {
runTest("multiple anonymous inner classes");
}
// helper methods.....
public SyntheticRepository createRepos(File cpentry) {

+ 1
- 0
tests/src/org/aspectj/systemtest/ajc150/AllTestsAspectJ150.java 查看文件

@@ -50,6 +50,7 @@ public class AllTestsAspectJ150 {
suite.addTest(AtAjSyntaxTests.suite());
suite.addTest(AtAjMisuseTests.suite());
suite.addTest(AtAjLTWTests.suite());
suite.addTest(HasMember.suite());
//$JUnit-END$
return suite;
}

+ 4
- 3
tests/src/org/aspectj/systemtest/ajc150/HasMember.java 查看文件

@@ -38,9 +38,10 @@ public class HasMember extends XMLBasedAjcTestCase {
runTest("declare parents : hasmethod(..) - 3");
}
public void testDecPHasMethodViaITD() {
runTest("declare parents : hasmethod(..) - 4");
}
// this test not passing yet, ITD integration not implemented
// public void testDecPHasMethodViaITD() {
// runTest("declare parents : hasmethod(..) - 4");
// }
public void testSimpleDecPHasField() {
runTest("declare parents : hasfield(..) - 1");

+ 29
- 7
tests/src/org/aspectj/systemtest/ajc150/ajc150.xml 查看文件

@@ -67,6 +67,22 @@
</compile>
</ajc-test>

<ajc-test dir="bugs150" pr="107486" title="anonymous inner classes">
<compile files="pr107486.aj">
</compile>
</ajc-test>

<ajc-test dir="bugs150" pr="107486" title="multiple anonymous inner classes">
<compile files="pr107486part2.aj">
</compile>
<run class="pr107486part2">
<stdout>
<line text="[advised] f"/>
<line text="[advised] g"/>
</stdout>
</run>
</ajc-test>
<ajc-test dir="bugs150" pr="91114" title="before and after are valid identifiers in classes, part 2">
<compile files="pr91114.aj">
</compile>
@@ -342,44 +358,50 @@

<!-- hasmethod / hasfield tests -->

<ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
<ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
<compile files="HasMethod.aj">
<message kind="error" line="5" text="the type pattern hasmethod(* print(..)) can only be used when the -XhasMember option is set"/>
</compile>
</ajc-test>

<ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
<compile files="HasMethod.aj" options="-XhasMember">
</compile>
<run class="HasMethod"></run>
</ajc-test>

<ajc-test title="declare parents : hasmethod(..) - 2" dir="hasmember">
<compile files="HasMethodInherited.aj">
<compile files="HasMethodInherited.aj" options="-XhasMember">
</compile>
<run class="HasMethodInherited"></run>
</ajc-test>

<ajc-test title="declare parents : hasmethod(..) - 3" dir="hasmember">
<compile files="HasPrivateMethodInherited.aj">
<compile files="HasPrivateMethodInherited.aj" options="-XhasMember">
</compile>
<run class="HasPrivateMethodInherited"></run>
</ajc-test>

<ajc-test title="declare parents : hasmethod(..) - 4" dir="hasmember">
<compile files="HasMethodViaITD.aj">
<compile files="HasMethodViaITD.aj" options="-XhasMember">
<message kind="warning" line="15" text="hasmethod matched on ITD ok"/>
</compile>
</ajc-test>
<ajc-test title="declare parents : hasfield(..) - 1" dir="hasmember">
<compile files="HasField.aj">
<compile files="HasField.aj" options="-XhasMember">
</compile>
<run class="HasField"></run>
</ajc-test>

<ajc-test title="declare parents : hasfield(..) - 2" dir="hasmember">
<compile files="HasFieldInherited.aj">
<compile files="HasFieldInherited.aj" options="-XhasMember">
</compile>
<run class="HasFieldInherited"></run>
</ajc-test>

<ajc-test title="declare parents : hasfield(..) - 3" dir="hasmember">
<compile files="HasPrivateFieldInherited.aj">
<compile files="HasPrivateFieldInherited.aj" options="-XhasMember">
</compile>
<run class="HasPrivateFieldInherited"></run>
</ajc-test>

Loading…
取消
儲存