harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Zakharov" <alexei.zakha...@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 12:51:32 GMT
Hi Ilya,

FYI there is the existing class
org.apache.harmony.beans.tests.java.beans.PropertyEditorSupportTest
that contains all tests for PropertyEditorSupport. IMHO it would be
better if you embed your tests into this class. BTW, you may also take
a look at existent
testSetAsText
method since it seems it does the same job.

Regards,
Alexei

P.S. thanks for the patch :)


2006/8/14, Ilya Okomin <ilya.okomin@gmail.com>:
> Hello, Mikhail!
>
> Provided test case can work from classpath of course. It's my mistake,
> thanks for noticed it. I'll prepare updated test case' patch with correct
> packaging and taking into account exceptions handling recommendation ASAP.
>
> Thanks,
> Ilya.
>
>
> On 8/14/06, Mikhail Loenko <mloenko@gmail.com> wrote:
> >
> > 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
> > >

---------------------------------------------------------------------
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