commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian P. MOMON (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (LANG-916) CLONE - DateFormatUtils.format does not correctly change Calendar TimeZone in certain situations
Date Fri, 25 Oct 2013 13:48:30 GMT

    [ https://issues.apache.org/jira/browse/LANG-916?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13805297#comment-13805297
] 

Christian P. MOMON edited comment on LANG-916 at 10/25/13 1:46 PM:
-------------------------------------------------------------------

I done the following actions:
- svn checkout https://svn.apache.org/repos/asf/commons/proper/lang/trunk commons-lang3 (last
commit was r1535653 | bayard | 2013-10-25 10:19:29 +0200)
- mvn install => failed because tests failing, then I removed all tests
- mvn install, copy the generated jar in my local test project => testFormat_CalendarIsoMsZulu()
and test23c2bis()  FAILED
- I put the patch, mvn install, copy the jar in my local test project => testFormat_CalendarIsoMsZulu()
and test23c2bis() finished SUCCESSFULLY

I conclude that the patch is good. But I am disappointed that:
- before patch, some mvn tests not passed
- after patch, some of the passing FastDatePrinter mvn tests do not passed any longer.

Suggestions:
- add testFormat_CalendarIsoMsZulu()
- add test23c2bis() 
- check other tests in FastDatePrinter
- check other tests


was (Author: cpm):
I done the following actions:
- svn checkout https://svn.apache.org/repos/asf/commons/proper/lang/trunk commons-lang3 (last
commit was r1535653 | bayard | 2013-10-25 10:19:29 +0200)
- mvn install => failed because tests failing, then I removed all tests
- mvn install, copy the generated jar in my local test project => testFormat_CalendarIsoMsZulu()
and test23c2bis()  FAILED
- I put the patch, mvn install, copy the jar in my local test project => testFormat_CalendarIsoMsZulu()
and test23c2bis() finished SUCCESSFULLY

I conclude that the patch is good. But I am disappointed that:
- before patch, some mvn tests not passed
- after patch, some of the passing mvn tests do not passed any longer.

Suggestions:
- add testFormat_CalendarIsoMsZulu()
- add test23c2bis() 

> CLONE - DateFormatUtils.format does not correctly change Calendar TimeZone in certain
situations
> ------------------------------------------------------------------------------------------------
>
>                 Key: LANG-916
>                 URL: https://issues.apache.org/jira/browse/LANG-916
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.time.*
>    Affects Versions: 3.1
>         Environment: Sun JDK 1.6.0_45 and 1.7.0_21 on Fedora 17 (Linux 3.9.10-100.fc17.i686.PAE).
>            Reporter: Christian P. MOMON
>              Labels: patch
>             Fix For: Review Patch
>
>         Attachments: LANG-916.patch
>
>
> In LANG-538 issue, there is an unit test:
> {noformat}
>   public void testFormat_CalendarIsoMsZulu() {
>     final String dateTime = "2009-10-16T16:42:16.000Z";
>     GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT-8"));
>     cal.clear();
>     cal.set(2009, 9, 16, 8, 42, 16);
>     cal.getTime();
>     FastDateFormat format = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
TimeZone.getTimeZone("GMT"));
>     assertEquals("dateTime", dateTime, format.format(cal));
>   }
> {noformat}
> This test passes successfully in lang-2.6 but failed in lang3-3.1:
> {noformat}
> org.junit.ComparisonFailure: dateTime expected:<2009-10-16T[16]:42:16.000Z> but
was:<2009-10-16T[08]:42:16.000Z>
> {noformat}
> Reproduced whit Sun Java version: 1.6.0_45 and 1.7.0_21 on Fedora 17 (Linux 3.9.10-100.fc17.i686.PAE).
> Moreover, I wrote another unit test showing that the timeZone parameter seems to be ignored
:
> {noformat}
> public void test() {
> 	Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Europe/Paris"));
> 	cal.set(2009, 9, 16, 8, 42, 16);
> 	// System.out.println(DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.format(cal));
> 	System.out.println("long");
> 	System.out.println(DateFormatUtils.format(cal.getTimeInMillis(), DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(),
TimeZone.getDefault()));
> 	System.out.println(DateFormatUtils.format(cal.getTimeInMillis(), DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(),
> 			TimeZone.getTimeZone("Asia/Kolkata")));
> 	System.out.println(DateFormatUtils.format(cal.getTimeInMillis(), DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(),
> 			TimeZone.getTimeZone("Europe/London")));
> 	System.out.println("calendar");
> 	System.out.println(DateFormatUtils.format(cal, DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(),
TimeZone.getDefault()));
> 	System.out.println(DateFormatUtils.format(cal, DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(),
TimeZone.getTimeZone("Asia/Kolkata")));
> 	System.out.println(DateFormatUtils.format(cal, DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(),
TimeZone.getTimeZone("Europe/London")));
> 	System.out.println("calendar fast");
> 	System.out.println(FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", TimeZone.getTimeZone("Europe/Paris")).format(cal));
> 	System.out.println(FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", TimeZone.getTimeZone("Asia/Kolkata")).format(cal));
> 	System.out.println(FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", TimeZone.getTimeZone("Europe/London")).format(cal));
> }
> {noformat}
> Gives the following console logs:
> {noformat}
> long
> 2009-10-16T08:42:16+02:00
> 2009-10-16T12:12:16+05:30
> 2009-10-16T07:42:16+01:00
> calendar
> 2009-10-16T08:42:16+02:00
> 2009-10-16T08:42:16+02:00
> 2009-10-16T08:42:16+02:00
> calendar fast
> 2009-10-16T08:42:16.975Z
> 2009-10-16T08:42:16.975Z
> 2009-10-16T08:42:16.975Z
> {noformat}
> When DateFormatUtils.format takes a long parameter, the time string is good.
> When DateFormatUtils.format takes a Calendar parameter, the time string is wrong, the
timezone parameter is IGNORED.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message