mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-14 17:24:01 +00:00
ICU-5840 Misc. clean ups. Changed minimum year in IslamicCalendar to 1, because the current implementation has a problem with negative years.
X-SVN-Rev: 23774
This commit is contained in:
parent
1cf3e685ad
commit
4b2b264cbf
3 changed files with 56 additions and 53 deletions
|
@ -321,7 +321,7 @@ public class CompatibilityTest extends com.ibm.icu.dev.test.TestFmwk {
|
|||
|
||||
for (i=0; i<cal.getFieldCount(); ++i) {
|
||||
if (cal.getMinimum(i) > cal.getGreatestMinimum(i))
|
||||
errln("FAIL: getMinimum larger getGreatestMinimum for field " + i);
|
||||
errln("FAIL: getMinimum larger than getGreatestMinimum for field " + i);
|
||||
if (cal.getLeastMaximum(i) > cal.getMaximum(i))
|
||||
errln("FAIL: getLeastMaximum larger than getMaximum for field " + i);
|
||||
if (cal.getMinimum(i) >= cal.getMaximum(i))
|
||||
|
@ -582,17 +582,18 @@ public class CompatibilityTest extends com.ibm.icu.dev.test.TestFmwk {
|
|||
c.set(Calendar.WEEK_OF_YEAR, 10);
|
||||
verify765("1997 Tuesday in week 10 of year = ", c, 1997, Calendar.MARCH, 4);
|
||||
|
||||
e = null;
|
||||
try {
|
||||
c.clear();
|
||||
c.set(Calendar.YEAR, 1997);
|
||||
c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
|
||||
c.set(Calendar.WEEK_OF_YEAR, 0);
|
||||
verify765("1997 Tuesday in week 0 of year = ", c, 1996, Calendar.DECEMBER, 24);
|
||||
throw new Exception("Fail: WEEK_OF_YEAR 0 should be illegal");
|
||||
c.getTime();
|
||||
}
|
||||
catch (IllegalArgumentException ex) {
|
||||
System.out.print("");
|
||||
e = ex;
|
||||
}
|
||||
verify765("1997 Tuesday in week 0 of year = ", e, c);
|
||||
}
|
||||
void verify765(String msg, Calendar c, int year, int month, int day) {
|
||||
int cy = c.get(Calendar.YEAR); // NEWCAL
|
||||
|
|
|
@ -419,31 +419,30 @@ public class IndianCalendar extends Calendar {
|
|||
}
|
||||
|
||||
private static final int LIMITS[][] = {
|
||||
// Minimum Greatest Least Maximum
|
||||
// Minimum Maximum
|
||||
{ 0, 0, 0, 0 }, // ERA
|
||||
{ -5000000, -5000000, 5000000, 5000000 }, // YEAR
|
||||
{ 0, 0, 11, 11 }, // MONTH
|
||||
{ 1, 1, 52, 53 }, // WEEK_OF_YEAR
|
||||
{/* */}, // WEEK_OF_MONTH
|
||||
{ 1, 1, 30, 31 }, // DAY_OF_MONTH
|
||||
{ 1, 1, 365, 366 }, // DAY_OF_YEAR
|
||||
{/* */}, // DAY_OF_WEEK
|
||||
{ -1, -1, 5, 5 }, // DAY_OF_WEEK_IN_MONTH
|
||||
{/* */}, // AM_PM
|
||||
{/* */}, // HOUR
|
||||
{/* */}, // HOUR_OF_DAY
|
||||
{/* */}, // MINUTE
|
||||
{/* */}, // SECOND
|
||||
{/* */}, // MILLISECOND
|
||||
{/* */}, // ZONE_OFFSET
|
||||
{/* */}, // DST_OFFSET
|
||||
{ -5000000, -5000000, 5000000, 5000000 }, // YEAR_WOY
|
||||
{/* */}, // DOW_LOCAL
|
||||
{ -5000000, -5000000, 5000000, 5000000 }, // EXTENDED_YEAR
|
||||
{/* */}, // JULIAN_DAY
|
||||
{/* */}, // MILLISECONDS_IN_DAY
|
||||
{ 0, 0, 0, 0 }, // ERA_WOY
|
||||
// Minimum Greatest Least Maximum
|
||||
// Minimum Maximum
|
||||
{ 0, 0, 0, 0}, // ERA
|
||||
{ -5000000, -5000000, 5000000, 5000000}, // YEAR
|
||||
{ 0, 0, 11, 11}, // MONTH
|
||||
{ 1, 1, 52, 53}, // WEEK_OF_YEAR
|
||||
{/* */}, // WEEK_OF_MONTH
|
||||
{ 1, 1, 30, 31}, // DAY_OF_MONTH
|
||||
{ 1, 1, 365, 366}, // DAY_OF_YEAR
|
||||
{/* */}, // DAY_OF_WEEK
|
||||
{ -1, -1, 5, 5}, // DAY_OF_WEEK_IN_MONTH
|
||||
{/* */}, // AM_PM
|
||||
{/* */}, // HOUR
|
||||
{/* */}, // HOUR_OF_DAY
|
||||
{/* */}, // MINUTE
|
||||
{/* */}, // SECOND
|
||||
{/* */}, // MILLISECOND
|
||||
{/* */}, // ZONE_OFFSET
|
||||
{/* */}, // DST_OFFSET
|
||||
{ -5000000, -5000000, 5000000, 5000000}, // YEAR_WOY
|
||||
{/* */}, // DOW_LOCAL
|
||||
{ -5000000, -5000000, 5000000, 5000000}, // EXTENDED_YEAR
|
||||
{/* */}, // JULIAN_DAY
|
||||
{/* */}, // MILLISECONDS_IN_DAY
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -326,31 +326,34 @@ public class IslamicCalendar extends Calendar {
|
|||
// Minimum / Maximum access functions
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
// Note: Current IslamicCalendar implementation does not work
|
||||
// well with negative years.
|
||||
|
||||
private static final int LIMITS[][] = {
|
||||
// Minimum Greatest Least Maximum
|
||||
// Minimum Maximum
|
||||
{ 0, 0, 0, 0 }, // ERA
|
||||
{ -5000000, -5000000, 5000000, 5000000 }, // YEAR
|
||||
{ 0, 0, 11, 11 }, // MONTH
|
||||
{ 1, 1, 50, 51 }, // WEEK_OF_YEAR
|
||||
{/* */}, // WEEK_OF_MONTH
|
||||
{ 1, 1, 29, 30 }, // DAY_OF_MONTH
|
||||
{ 1, 1, 354, 355 }, // DAY_OF_YEAR
|
||||
{/* */}, // DAY_OF_WEEK
|
||||
{ -1, -1, 5, 5 }, // DAY_OF_WEEK_IN_MONTH
|
||||
{/* */}, // AM_PM
|
||||
{/* */}, // HOUR
|
||||
{/* */}, // HOUR_OF_DAY
|
||||
{/* */}, // MINUTE
|
||||
{/* */}, // SECOND
|
||||
{/* */}, // MILLISECOND
|
||||
{/* */}, // ZONE_OFFSET
|
||||
{/* */}, // DST_OFFSET
|
||||
{ -5000000, -5000000, 5000000, 5000000 }, // YEAR_WOY
|
||||
{/* */}, // DOW_LOCAL
|
||||
{ -5000000, -5000000, 5000000, 5000000 }, // EXTENDED_YEAR
|
||||
{/* */}, // JULIAN_DAY
|
||||
{/* */}, // MILLISECONDS_IN_DAY
|
||||
// Minimum Greatest Least Maximum
|
||||
// Minimum Maximum
|
||||
{ 0, 0, 0, 0}, // ERA
|
||||
{ 1, 1, 5000000, 5000000}, // YEAR
|
||||
{ 0, 0, 11, 11}, // MONTH
|
||||
{ 1, 1, 50, 51}, // WEEK_OF_YEAR
|
||||
{/* */}, // WEEK_OF_MONTH
|
||||
{ 1, 1, 29, 30}, // DAY_OF_MONTH
|
||||
{ 1, 1, 354, 355}, // DAY_OF_YEAR
|
||||
{/* */}, // DAY_OF_WEEK
|
||||
{ -1, -1, 5, 5}, // DAY_OF_WEEK_IN_MONTH
|
||||
{/* */}, // AM_PM
|
||||
{/* */}, // HOUR
|
||||
{/* */}, // HOUR_OF_DAY
|
||||
{/* */}, // MINUTE
|
||||
{/* */}, // SECOND
|
||||
{/* */}, // MILLISECOND
|
||||
{/* */}, // ZONE_OFFSET
|
||||
{/* */}, // DST_OFFSET
|
||||
{ 1, 1, 5000000, 5000000}, // YEAR_WOY
|
||||
{/* */}, // DOW_LOCAL
|
||||
{ 1, 1, 5000000, 5000000}, // EXTENDED_YEAR
|
||||
{/* */}, // JULIAN_DAY
|
||||
{/* */}, // MILLISECONDS_IN_DAY
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Reference in a new issue