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]