Hi Mikhail,
BTW, there is a looking similar failure in the test o.a.h.beans.tests.java.beans.CustomizedPersistenceDelegateTest#testProxyPD :)
It doesn't seem to be a completely similar failure to me. IMO the above test fails due the fact that we simply don't have persistence delegates for proxies, nobody have implemented them till now. Well, the similarity here is that we need to deal with the same mysterious java.lang.reflect.Proxy class. :) I'm going to occupy myself with the above issue on this weekend if nobody objects. Regards, 2006/8/16, Mikhail Loenko <[EMAIL PROTECTED]>:
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]
-- 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]