Hi Ilya
Is it significant that the test code is in bootclasspath, or it can
work from classpath?
There were some discussions around the tests that might be interesting,
please look at [1].
Please look at the section
Utilize JUnit's assert/fail methods and exception handling for clean test code
This also might be useful [2]
Thanks,
Mikhail
[1]
http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200603.mbox/[EMAIL
PROTECTED]
[2]
http://incubator.apache.org/harmony/subcomponents/classlibrary/agreements.html
2006/8/9, Ilya Okomin (JIRA) <[EMAIL PROTECTED]>:
[classlib][beans]Harmony does not throw IllegalArgumentException for
java.beans.PropertyEditorSupport.setAsText() while RI does.
--------------------------------------------------------------------------------------------------------------------------------
Key: HARMONY-1113
URL: http://issues.apache.org/jira/browse/HARMONY-1113
Project: Harmony
Issue Type: Bug
Components: Classlib
Reporter: Ilya Okomin
Priority: Minor
Attachments: PropertyEditorSupport.patch,
PropertyEditorSupportTest.patch
Harmony does not throw IllegalArgumentException for
java.beans.PropertyEditorSupport.setAsText(String) when parameter is invalid
while RI throws IllegalArgumentException.
Java 1.5.0 spec says:"May raise java.lang.IllegalArgumentException if either the
String is badly formatted or if this kind of property can't be expressed as text."
=============test.java==============
import java.beans.PropertyEditorSupport;
public class test {
public static void main(String args[]) {
PropertyEditorSupport undefPropertyEditorSupport = new
PropertyEditorSupport();
try {
System.err.print("value is null: ");
undefPropertyEditorSupport.setAsText("string");
System.err.println("failed: IllegalArgumentException expected, but
nothing was thrown!\n");
} catch (IllegalArgumentException eE) {
System.err.println("success!");
eE.printStackTrace();
}
PropertyEditorSupport defPropertyEditorSupport = new
PropertyEditorSupport();
try {
defPropertyEditorSupport.setValue(new Object());
System.err.print("value is Object: ");
defPropertyEditorSupport.setAsText("string");
System.err.println("failed: IllegalArgumentException expected, but
nothing was thrown!\n");
} catch (IllegalArgumentException eE) {
System.err.println("success!");
eE.printStackTrace();
}
defPropertyEditorSupport = new PropertyEditorSupport();
try {
defPropertyEditorSupport.setValue(new String());
System.err.print("value is String: ");
defPropertyEditorSupport.setAsText("string");
System.err.println("success!");
} catch (IllegalArgumentException eE) {
System.err.println("failed!");
eE.printStackTrace();
}
}
}
===========================================
Output:
Harmony:
java version "1.5.0"
pre-alpha : not complete or compatible
svn = r424571, (Jul 22 2006), Windows/ia32/msvc 1310, release build
http://incubator.apache.org/harmony
value is null: failed: IllegalArgumentException expected, but nothing was
thrown!
value is Object: failed: IllegalArgumentException expected, but nothing was
thrown!
value is String: success!
RI:
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75,
GC: System optimized over throughput (initial strategy singleparpar))
value is null: success!
java.lang.IllegalArgumentException: string
at
java.beans.PropertyEditorSupport.setAsText(PropertyEditorSupport.java:166)
at bugzilla.Test9433.main(Test9433.java:11)
value is Object: success!
java.lang.IllegalArgumentException: string
at
java.beans.PropertyEditorSupport.setAsText(PropertyEditorSupport.java:166)
at bugzilla.Test9433.main(Test9433.java:23)
value is String: success!
For this reason, suggested solution is to check in setAsText() method if the
value is instanse of String, in case of true - setValue, otherwise - throw an
IAE following the spec, "...this kind of property can't be expressed as text".
Suggested patch and regression test can be found in the attach
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]