From: Peter Edberg Date: Thu, 27 Jun 2013 06:53:35 +0000 (+0000) Subject: ICU-10061 (J) Make getDayOfWeekType behave as documented for last weekend day; fix... X-Git-Tag: milestone-59-0-1~2809 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9268ae09e5853bcf42aa947902a62b32dda0a3da;p=icu ICU-10061 (J) Make getDayOfWeekType behave as documented for last weekend day; fix for 1-day weekends X-SVN-Rev: 33858 --- diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java b/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java index f8a9e753ed9..b28cb5223d7 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java @@ -4360,9 +4360,10 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable SATURDAY) { throw new IllegalArgumentException("Invalid day of week"); } + if (weekendOnset == weekendCease) { + if (dayOfWeek != weekendOnset) + return WEEKDAY; + return (weekendOnsetMillis == 0) ? WEEKEND : WEEKEND_ONSET; + } if (weekendOnset < weekendCease) { if (dayOfWeek < weekendOnset || dayOfWeek > weekendCease) { return WEEKDAY; @@ -4400,7 +4406,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable= 86400000) ? WEEKEND : WEEKEND_CEASE; } return WEEKEND; } diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/calendar/IBMCalendarTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/calendar/IBMCalendarTest.java index 9a1c80f1bca..0ab78feb078 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/calendar/IBMCalendarTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/calendar/IBMCalendarTest.java @@ -1,6 +1,6 @@ /* ******************************************************************************* - * Copyright (C) 2000-2012, International Business Machines Corporation and + * Copyright (C) 2000-2013, International Business Machines Corporation and * others. All Rights Reserved. ******************************************************************************* */ @@ -83,13 +83,19 @@ public class IBMCalendarTest extends CalendarTest { Calendar.MONDAY, Calendar.WEEKDAY, Calendar.FRIDAY, Calendar.WEEKDAY, Calendar.SATURDAY, Calendar.WEEKEND, - Calendar.SUNDAY, Calendar.WEEKEND_CEASE, + Calendar.SUNDAY, Calendar.WEEKEND, }, new Locale("ar", "YE"), new int[] { // Thursday:Friday Calendar.WEDNESDAY,Calendar.WEEKDAY, Calendar.SATURDAY, Calendar.WEEKDAY, Calendar.THURSDAY, Calendar.WEEKEND, - Calendar.FRIDAY, Calendar.WEEKEND_CEASE, + Calendar.FRIDAY, Calendar.WEEKEND, + }, + new Locale("hi", "IN"), new int[] { // Sunday only + Calendar.MONDAY, Calendar.WEEKDAY, + Calendar.FRIDAY, Calendar.WEEKDAY, + Calendar.SATURDAY, Calendar.WEEKDAY, + Calendar.SUNDAY, Calendar.WEEKEND, }, };