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 <[EMAIL PROTECTED]>:
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 <[EMAIL PROTECTED]> 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/[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
> >

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to