harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Loenko" <mloe...@gmail.com>
Subject Re: [jira] Created: (HARMONY-1113) [classlib][beans]Harmony does not throw IllegalArgumentException for java.beans.PropertyEditorSupport.setAsText() while RI does.
Date Mon, 14 Aug 2006 10:16:28 GMT
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/%3c442B7857.7040002@gmail.com%3e

[2] http://incubator.apache.org/harmony/subcomponents/classlibrary/agreements.html


2006/8/9, Ilya Okomin (JIRA) <jira@apache.org>:
> [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: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message