commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niall Pemberton" <niall.pember...@gmail.com>
Subject Re: [lang] TextTestSuite failures
Date Tue, 13 Nov 2007 23:39:10 GMT
On Nov 13, 2007 9:53 PM, Matt Benson <gudnabrsam@yahoo.com> wrote:
> What this says to me is that
> DateFormat.getTimeInstance(int, Locale) is buggy in
> that the full/long time formatting pattern is at least
> partially dependent upon the default Locale even when
> the Locale is specified explicitly by the method
> signature.  MF is explicit enough about its
> implementation details that EMF has inherited the
> behavior, which is probably for the best, all things
> considered.  I think your fix is fine here.

OK I wasn't proposing that as a fix as I don't know the code - just as
evidence to point to where the problem lay  - so I took a closer look
at this with a debugger. I believe your assumption about
DateFormat.getTimeInstance(int, Locale) is incorrect (i.e. that its
buggy). Looks to me like the problem is with the testLongTime() and
testFullTime() methods in AbstractMessageFormatTest - they use
DateFormat.getTimeInstance(int) rather than
DateFormat.getTimeInstance(int, Locale) to format the dates in the
expected results - so rather than the fix you applied, I would sugges
something the following:

     public void testLongTime() {
-        DateFormat df = DateFormat.getTimeInstance(DateFormat.LONG);
+        DateFormat df = DateFormat.getTimeInstance(DateFormat.LONG, Locale.US);
         StringBuffer expected = new StringBuffer();
         for (int i = 0; i < DATES.length; i++) {
             if (i > 0) {
@@ -228,7 +227,7 @@
     }

     public void testFullTime() {
-        DateFormat df = DateFormat.getTimeInstance(DateFormat.FULL);
+        DateFormat df = DateFormat.getTimeInstance(DateFormat.FULL, Locale.US);
         StringBuffer expected = new StringBuffer();

Niall

> -Matt
>
> --- Ben Speakmon <bspeakmon@apache.org> wrote:
>
> > What I know now, and what surprised me, was that
> > passing user.language
> > and user.region (or user.country) did not actually
> > change the default
> > Locale from junit's point of view, though it did
> > change at least the
> > default date formatting. Though now that I think of
> > it, maybe doing it
> > that way doesn't actually pass through to the test
> > goal if it's run in
> > a different classloader. Dunno how, or if, that's
> > related to your
> > MessageFormat.
> >
> > On Nov 13, 2007 1:28 PM, Matt Benson
> > <gudnabrsam@yahoo.com> wrote:
> > > Does anyone care to corroborate my opinion, then,
> > that
> > > java.text.MessageFormat's (String, Locale)
> > constructor
> > > must yield a buggy object instance, then?
> > >
> > > -Matt
> > >
> > >
> > >
> > > --- Ben Speakmon <bspeakmon@apache.org> wrote:
> > >
> > > > Well that settles that :) Apparently you can't
> > set
> > > > the locale from the
> > > > command line, just the language and region.
> > weird.
> > > >
> > > > I'll check in that change.
> > > >
> > > > On Nov 13, 2007 1:10 PM, Niall Pemberton
> > > > <niall.pemberton@gmail.com> wrote:
> > > > > Well I threw the following line into the
> > setup()
> > > > method of
> > > > > AbstractMessageFormatTest and the errors go
> > away.
> > > > >
> > > > >
> > > >
> > java.util.Locale.setDefault(java.util.Locale.US);
> > > > >
> > > > > Niall
> > > > >
> > > > >
> > > > > On Nov 13, 2007 8:17 PM, Matt Benson
> > > > <gudnabrsam@yahoo.com> wrote:
> > > > > > Rather, I created the tests to explicitly
> > use
> > > > > > Locale.US so that there were no assumptions
> > wrt
> > > > > > default Locale; I will certainly be
> > > > double-checking
> > > > > > these.  :|
> > > > > >
> > > > > > -Matt
> > > > > >
> > > > > >
> > > > > > --- Niall Pemberton
> > <niall.pemberton@gmail.com>
> > > > wrote:
> > > > > >
> > > > > > > My guess from just looking at the test
> > output
> > > > is
> > > > > > > that theres an
> > > > > > > assumption in the test that the default
> > Locale
> > > > is
> > > > > > > US. If that is the
> > > > > > > case then these tests should set the
> > default
> > > > locale
> > > > > > > to Locale.US
> > > > > > > before executing.
> > > > > > >
> > > > > > > Niall
> > > > > > >
> > > > > > > On Nov 13, 2007 7:38 PM, Ben Speakmon
> > > > > > > <bspeakmon@apache.org> wrote:
> > > > > > > > Odd. WFM on my ubuntu with Java 1.4 and
> > 5.
> > > > > > > >
> > > > > > > >
> > > > > > > > On Nov 13, 2007 11:31 AM, Niall
> > Pemberton
> > > > > > > <niall.pemberton@gmail.com> wrote:
> > > > > > > > > I just tried running "maven test" for
> > > > Commons
> > > > > > > Lang and the
> > > > > > > > > TextTestSuite had a bunch of failures.
> > I
> > > > don't
> > > > > > > really have time to
> > > > > > > > > look into this at the moment.
> > > > > > > > >
> > > > > > > > > Niall
> > > > > > > > >
> > > > > > > > > Testcase:
> > > > > > >
> > > > > >
> > > >
> > >
> >
> testLongTime(org.apache.commons.lang.text.MessageFormatTest):
> > > > > > > FAILED
> > > > > > > > > expected:<...00:15:20 GMT; Time 1:
> > > > 12:30:35 GMT;
> > > > > > > Time 2: 18:45:50...>
> > > > > > > > > but was:<...12:15:20 AM GMT; Time 1:
> > > > 12:30:35 PM
> > > > > > > GMT; Time 2: 6:45:50
> > > > > > > > > PM...>
> > > > > > > > > junit.framework.ComparisonFailure:
> > > > > > > expected:<...00:15:20 GMT; Time 1:
> > > > > > > > > 12:30:35 GMT; Time 2: 18:45:50...> but
> > > > > > > was:<...12:15:20 AM GMT; Time
> > > > > > > > > 1: 12:30:35 PM GMT; Time 2: 6:45:50
> > PM...>
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.doAssertions(AbstractMessageFormatTest.java:64)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.doAssertions(AbstractMessageFormatTest.java:58)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.testLongTime(AbstractMessageFormatTest.java:222)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > > > > > > Method)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Testcase:
> > > > > > >
> > > > > >
> > > >
> > >
> >
> testFullTime(org.apache.commons.lang.text.MessageFormatTest):
> > > > > > > FAILED
> > > > > > > > > expected:<...00:15:20 o'clock GMT;
> > Time 1:
> > > > > > > 12:30:35 o'clock GMT; Time
> > > > > > > > > 2: 18:45:50 o'clock...> but
> > > > was:<...12:15:20 AM
> > > > > > > GMT; Time 1: 12:30:35
> > > > > > > > > PM GMT; Time 2: 6:45:50 PM...>
> > > > > > > > > junit.framework.ComparisonFailure:
> > > > > > > expected:<...00:15:20 o'clock GMT;
> > > > > > > > > Time 1: 12:30:35 o'clock GMT; Time 2:
> > > > 18:45:50
> > > > > > > o'clock...> but
> > > > > > > > > was:<...12:15:20 AM GMT; Time 1:
> > 12:30:35
> > > > PM
> > > > > > > GMT; Time 2: 6:45:50
> > > > > > > > > PM...>
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.doAssertions(AbstractMessageFormatTest.java:64)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.testFullTime(AbstractMessageFormatTest.java:238)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > > > > > > Method)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Testcase:
> > > > > > >
> > > > > >
> > > >
> > >
> >
> testLongTime(org.apache.commons.lang.text.ExtendedMessageFormatBaselineTest):
> > > > > > > FAILED
> > > > > > > > > expected:<...00:15:20 GMT; Time 1:
> > > > 12:30:35 GMT;
> > > > > > > Time 2: 18:45:50...>
> > > > > > > > > but was:<...12:15:20 AM GMT; Time 1:
> > > > 12:30:35 PM
> > > > > > > GMT; Time 2: 6:45:50
> > > > > > > > > PM...>
> > > > > > > > > junit.framework.ComparisonFailure:
> > > > > > > expected:<...00:15:20 GMT; Time 1:
> > > > > > > > > 12:30:35 GMT; Time 2: 18:45:50...> but
> > > > > > > was:<...12:15:20 AM GMT; Time
> > > > > > > > > 1: 12:30:35 PM GMT; Time 2: 6:45:50
> > PM...>
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.doAssertions(AbstractMessageFormatTest.java:64)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.doAssertions(AbstractMessageFormatTest.java:58)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.testLongTime(AbstractMessageFormatTest.java:222)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > > > > > > Method)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Testcase:
> > > > > > >
> > > > > >
> > > >
> > >
> >
> testFullTime(org.apache.commons.lang.text.ExtendedMessageFormatBaselineTest):
> > > > > > > FAILED
> > > > > > > > > expected:<...00:15:20 o'clock GMT;
> > Time 1:
> > > > > > > 12:30:35 o'clock GMT; Time
> > > > > > > > > 2: 18:45:50 o'clock...> but
> > > > was:<...12:15:20 AM
> > > > > > > GMT; Time 1: 12:30:35
> > > > > > > > > PM GMT; Time 2: 6:45:50 PM...>
> > > > > > > > > junit.framework.ComparisonFailure:
> > > > > > > expected:<...00:15:20 o'clock GMT;
> > > > > > > > > Time 1: 12:30:35 o'clock GMT; Time 2:
> > > > 18:45:50
> > > > > > > o'clock...> but
> > > > > > > > > was:<...12:15:20 AM GMT; Time 1:
> > 12:30:35
> > > > PM
> > > > > > > GMT; Time 2: 6:45:50
> > > > > > > > > PM...>
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.doAssertions(AbstractMessageFormatTest.java:64)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.testFullTime(AbstractMessageFormatTest.java:238)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > > > > > > Method)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Testcase:
> > > > > > >
> > > > > >
> > > >
> > >
> >
> testLongTime(org.apache.commons.lang.text.MessageFormatExtensionTest):
> > > > > > >        FAILED
> > > > > > > > > expected:<...00:15:20 GMT; Time 1:
> > > > 12:30:35 GMT;
> > > > > > > Time 2: 18:45:50...>
> > > > > > > > > but was:<...12:15:20 AM GMT; Time 1:
> > > > 12:30:35 PM
> > > > > > > GMT; Time 2: 6:45:50
> > > > > > > > > PM...>
> > > > > > > > > junit.framework.ComparisonFailure:
> > > > > > > expected:<...00:15:20 GMT; Time 1:
> > > > > > > > > 12:30:35 GMT; Time 2: 18:45:50...> but
> > > > > > > was:<...12:15:20 AM GMT; Time
> > > > > > > > > 1: 12:30:35 PM GMT; Time 2: 6:45:50
> > PM...>
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.doAssertions(AbstractMessageFormatTest.java:64)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.doAssertions(AbstractMessageFormatTest.java:58)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.testLongTime(AbstractMessageFormatTest.java:222)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > > > > > > Method)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Testcase:
> > > > > > >
> > > > > >
> > > >
> > >
> >
> testFullTime(org.apache.commons.lang.text.MessageFormatExtensionTest):
> > > > > > >        FAILED
> > > > > > > > > expected:<...00:15:20 o'clock GMT;
> > Time 1:
> > > > > > > 12:30:35 o'clock GMT; Time
> > > > > > > > > 2: 18:45:50 o'clock...> but
> > > > was:<...12:15:20 AM
> > > > > > > GMT; Time 1: 12:30:35
> > > > > > > > > PM GMT; Time 2: 6:45:50 PM...>
> > > > > > > > > junit.framework.ComparisonFailure:
> > > > > > > expected:<...00:15:20 o'clock GMT;
> > > > > > > > > Time 1: 12:30:35 o'clock GMT; Time 2:
> > > > 18:45:50
> > > > > > > o'clock...> but
> > > > > > > > > was:<...12:15:20 AM GMT; Time 1:
> > 12:30:35
> > > > PM
> > > > > > > GMT; Time 2: 6:45:50
> > > > > > > > > PM...>
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.doAssertions(AbstractMessageFormatTest.java:64)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> org.apache.commons.lang.text.AbstractMessageFormatTest.testFullTime(AbstractMessageFormatTest.java:238)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > > > > > > Method)
> > > > > > > > >         at
> > > > > > >
> > > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >         at
> > > > > > >
> > > > > >
> > > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> > > > > > > Source)
> > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > > > > > > To unsubscribe, e-mail:
> > > > > > > dev-unsubscribe@commons.apache.org
> > > > > > > > > For additional commands, e-mail:
> > > > > > > dev-help@commons.apache.org
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > > > > > To unsubscribe, e-mail:
> > > > > > > dev-unsubscribe@commons.apache.org
> > > > > > > > For additional commands, e-mail:
> > > > > > > dev-help@commons.apache.org
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail:
> > > > > > > dev-unsubscribe@commons.apache.org
> > > > > > > For additional commands, e-mail:
> > > > > > > dev-help@commons.apache.org
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > >
> > >
> >
> ____________________________________________________________________________________
> > > > > > Be a better sports nut!  Let your teams
> > follow
> > > > you
> > > > > > with Yahoo Mobile. Try it now.
> > > >
> > >
> >
> http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ
> > > > > >
> > > > > >
> > > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
> > > > dev-unsubscribe@commons.apache.org
> > > > > > For additional commands, e-mail:
> > > > dev-help@commons.apache.org
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail:
> > > > dev-unsubscribe@commons.apache.org
> > > > > For additional commands, e-mail:
> > > > dev-help@commons.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > >
> >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > > > dev-unsubscribe@commons.apache.org
> > > > For additional commands, e-mail:
> > > > dev-help@commons.apache.org
> > > >
> > > >
> > >
> > >
> > >
> > >
> >
> ____________________________________________________________________________________
> > > Get easy, one-click access to your favorites.
> > > Make Yahoo! your homepage.
> > > http://www.yahoo.com/r/hs
> > >
> > >
> > >
> >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > dev-unsubscribe@commons.apache.org
> > > For additional commands, e-mail:
> > dev-help@commons.apache.org
> > >
> > >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > dev-unsubscribe@commons.apache.org
> > For additional commands, e-mail:
> > dev-help@commons.apache.org
> >
> >
>
>
>
>       ____________________________________________________________________________________
> Be a better pen pal.
> Text or chat with friends inside Yahoo! Mail. See how.  http://overview.mail.yahoo.com/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message