diff options
author | aclement <aclement> | 2004-08-11 13:18:24 +0000 |
---|---|---|
committer | aclement <aclement> | 2004-08-11 13:18:24 +0000 |
commit | d43a39103f476d95cade6b87b604ee4578de25b3 (patch) | |
tree | 88f9042ebb174041e88e97688a5ee99cae473aca /tests | |
parent | 0f21863d2428663a84d914b928fba56e8baa8f14 (diff) | |
download | aspectj-d43a39103f476d95cade6b87b604ee4578de25b3.tar.gz aspectj-d43a39103f476d95cade6b87b604ee4578de25b3.zip |
Tests and fix for Bugzilla Bug 54421
Compile time declarations (warning and error) do not accept string concatenation (with +)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs/decwStrings.java | 49 | ||||
-rw-r--r-- | tests/bugs/decwStringsErroneous.java | 29 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java | 12 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml | 24 |
4 files changed, 110 insertions, 4 deletions
diff --git a/tests/bugs/decwStrings.java b/tests/bugs/decwStrings.java new file mode 100644 index 000000000..ef392a669 --- /dev/null +++ b/tests/bugs/decwStrings.java @@ -0,0 +1,49 @@ +class WarningSample { + + public void method() {} + public void anotherMethod() { + this.method(); + } + + } + + aspect WarningAspect { + + pointcut illegalCall(): call(* WarningSample.method()) + && within(WarningSample); + + // the same thing happens with declare error + declare warning: illegalCall() : "Hey, don't " + + "do that, that is not nice. You should do something else"; + + public void e1() {} + declare warning: execution(* e1(..)): "hello " + /* comment */ "world"; + + public void e2() {} + declare warning: execution(* e2(..)): "hello " /* comment */ + "world"; + + public void e3() {} + declare warning: execution(* e3(..)): "hello " + // commenthere + // comment here too + "world"; + + public void e4() {} + declare warning: execution(* e4()): "hello " //xxx + + "world"; + + public void e5() {} + declare warning: execution(* e5()): "hello " //xxx + /* here */ + + "world"; + + public void e6() {} + declare warning: execution(* e6()): "abc" + + "def" + // def was here + "ghijklmnopqrstuv" /* silly +place +for a +comment */ + +/* oops */ + "wxyz"; + } + diff --git a/tests/bugs/decwStringsErroneous.java b/tests/bugs/decwStringsErroneous.java new file mode 100644 index 000000000..11664ac98 --- /dev/null +++ b/tests/bugs/decwStringsErroneous.java @@ -0,0 +1,29 @@ +class WarningSample { + + public void method() {} + public void anotherMethod() { + this.method(); + } + + } + + aspect WarningAspect { + + pointcut illegalCall(): call(* WarningSample.method()) + && within(WarningSample); + + // the same thing happens with declare error + declare warning: illegalCall() : "Hey, don't " + + "do that, that is not nice. You should do something else"; + + public void e1() {} + declare warning: execution(* e1(..)): "hello " + /* comment */ "world" + + public void e2() {} + declare warning: execution(* e2(..)): "hello " /* comment + "world"; + + public void e3() {} + declare warning: execution(* e3(..)): "hello " + // commenthere + + } + diff --git a/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java b/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java index 039dffa0e..805397df1 100644 --- a/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java @@ -139,7 +139,8 @@ public class Ajc121Tests extends org.aspectj.testing.XMLBasedAjcTestCase { public void test025_proceedInAround3() { runTest("proceed used as method name in around advice (3)"); } - public void test026_bindingThisAndTargetToTheSameFormal() { + + public void test026_bindingThisAndTargetToTheSameFormal() { runTest("ajc crashes when compiling the following program (binding this() and target())"); } @@ -155,7 +156,7 @@ public class Ajc121Tests extends org.aspectj.testing.XMLBasedAjcTestCase { runTest("Valid but inaccessible type names should not be flagged by XLint:invalidAbsoluteTypeName"); } - public void test030_privateITDinitialisersBeingMatched() { + public void test030_privateITDinitialisersBeingMatched() { runTest("intertype initialisers should match field set pointcuts"); } @@ -166,6 +167,13 @@ public class Ajc121Tests extends org.aspectj.testing.XMLBasedAjcTestCase { assertTrue("Expected output '"+exp+"' but got "+getLastRunResult().getStdErr(), getLastRunResult().getStdErr().equals(exp)); } + + public void test032_stringConcatForDEOW() { + runTest("Compile time declarations (warning and error) do not accept string concatenation (with +)"); + } + public void test033_stringConcatForDEOWErrorCase() { + runTest("Compile time declarations (warning and error) do not accept string concatenation (with +) (2)"); + } } diff --git a/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml b/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml index dc59c31c1..e1c6c5481 100644 --- a/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml +++ b/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml @@ -203,7 +203,6 @@ <run class="Proceeding3"/> </ajc-test> - <ajc-test dir="bugs" pr="61572" title="ITDs on inner classes should be static context"> <compile files="PR61572.aj"> @@ -254,4 +253,25 @@ title="intertype initialisers should match field set pointcuts (oxford testcase)"> <compile files="Oxford.java"/> <run class="Oxford"/> - </ajc-test>
\ No newline at end of file + </ajc-test> + + <ajc-test dir="bugs" pr="54421" + title="Compile time declarations (warning and error) do not accept string concatenation (with +)"> + <compile files="decwStrings.java"> + <message kind="warning" line="5"/> + <message kind="warning" line="19" text="hello world"/> + <message kind="warning" line="22" text="hello world"/> + <message kind="warning" line="25" text="hello world"/> + <message kind="warning" line="30" text="hello world"/> + <message kind="warning" line="34" text="hello world"/> + <message kind="warning" line="39" text="abcdefghijklmnopqrstuvwxyz"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="54421" + title="Compile time declarations (warning and error) do not accept string concatenation (with +) (2)"> + <compile files="decwStringsErroneous.java"> + <message kind="error" line="22"/> + </compile> + </ajc-test> + |