It works, thanks for the patch!

BTW, there is a looking similar failure in the test

o.a.h.beans.tests.java.beans.CustomizedPersistenceDelegateTest#testProxyPD

:)

Thanks,
Mikhail

2006/8/16, Mikhail Loenko <[EMAIL PROTECTED]>:
Sure!

2006/8/16, Alexei Zakharov <[EMAIL PROTECTED]>:
> Mikhail,
>
> > But there are two remaining failures related to
> > Proxy. That area is completely new for me and I guess it's caused
> > by incorrect process of Object's methods including equals().
> > Can you guys take a look?
>
> I have created HARMONY-1207 that fixes the above problem. Could you
> please take a look at it?
>
> Thanks,
>
> 2006/8/14, Mikhail Loenko <[EMAIL PROTECTED]>:
> > 2006/8/14, Alexei Zakharov <[EMAIL PROTECTED]>:
> > > Ilya,
> > >
> > > > Thus test_setAsTextNull is redundant but
> > > > other two test cases have to be added.
> > >
> > > This is exactly what I mean.
> > > BTW, If you have more patches (or free time) for java.beans you are
> > > highly welcome. I have already tired from working on this package
> > > alone. :)
> >
> > You are not alone :)
> >
> > BTW, I've managed to fix most of the failures in
> > org.apache.harmony.beans.tests.java.beans.PropertyEditorSupportTest
> > they were caused by a bug in no-arg constructor of
> > PropertyEditorSupport
> > I'll commit the fix tomorrow. But there are two remaining failures related 
to
> > Proxy. That area is completely new for me and I guess it's caused
> > by incorrect process of Object's methods including equals().
> >
> > Can you guys take a look?
> >
> > Thanks,
> > Mikhail
> >
> >
> > >
> > > Regards,
> > >
> > > 2006/8/14, Ilya Okomin <[EMAIL PROTECTED]>:
> > > > On 8/14/06, Alexei Zakharov <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > 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.
> > > >
> > > >
> > > > Thanks for suggested solution, I've already done it before read your 
message
> > > > :-)
> > > >
> > > > Hmmm..you right, existing one test testSetAsText is the same as
> > > > test_setAsTextNull.
> > > > Actually existing testSetAsText test doesn't cover the problem, 
according to
> > > > the documentation setAsText method behavior depends on the object state
> > > > (rather newValue field type), thus we have to take into account the 
type of
> > > > the newValue before setAsText call, if it is instanse of String or not. 
I've
> > > > created tests for these cases. Thus test_setAsTextNull is redundant but
> > > > other two test cases have to be added.
> > > >
> > > > Regards,
> > > > > Alexei
> > > > >
> > > > > P.S. thanks for the patch :)
> > > >
> > > >
> > > > Always welcome!
> > > >
> > > >  Thanks,
> > > > Ilya.
> > > >
> > > > 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.IllegalArgumentExceptionif
> > > > > > > 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
> > > > > > > >
> > >
> > >
> > >
> > > --
> > > Alexei Zakharov,
> > > Intel Middleware Product Division
> > >
> > > ---------------------------------------------------------------------
> > > Terms of use : http://incubator.apache.org/harmony/mailing.html
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > Terms of use : http://incubator.apache.org/harmony/mailing.html
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Alexei Zakharov,
> Intel Middleware Product Division
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


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