mirror of
https://github.com/darlinghq/darling-openjdk.git
synced 2024-11-30 07:40:37 +00:00
8205432: Replace the placeholder Japanese era name
Reviewed-by: rriggs, chegar
This commit is contained in:
parent
2cc859d380
commit
2a510a6353
@ -3633,7 +3633,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<era type="233">大正</era>
|
||||
<era type="234">昭和</era>
|
||||
<era type="235">平成</era>
|
||||
<era type="236">元号</era> <!-- NewEra -->
|
||||
<era type="236">令和</era>
|
||||
</eraAbbr>
|
||||
<eraNarrow>
|
||||
<era type="0">大化</era>
|
||||
@ -3872,7 +3872,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<era type="233">T</era>
|
||||
<era type="234">S</era>
|
||||
<era type="235">H</era>
|
||||
<era type="236">N</era> <!-- NewEra -->
|
||||
<era type="236">R</era>
|
||||
</eraNarrow>
|
||||
</eras>
|
||||
<dateFormats>
|
||||
|
@ -2030,7 +2030,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<era type="233">Taishō</era>
|
||||
<era type="234">Shōwa</era>
|
||||
<era type="235">Heisei</era>
|
||||
<era type="236">NewEra</era> <!-- NewEra -->
|
||||
<era type="236">Reiwa</era>
|
||||
</eraAbbr>
|
||||
<eraNarrow>
|
||||
<era type="0">Taika (645–650)</era>
|
||||
@ -2269,7 +2269,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<era type="233">T</era>
|
||||
<era type="234">S</era>
|
||||
<era type="235">H</era>
|
||||
<era type="236">N</era> <!-- NewEra -->
|
||||
<era type="236">R</era>
|
||||
</eraNarrow>
|
||||
</eras>
|
||||
<dateFormats>
|
||||
|
@ -11836,7 +11836,7 @@
|
||||
32FC;CIRCLED KATAKANA WI;So;0;L;<circle> 30F0;;;;N;;;;;
|
||||
32FD;CIRCLED KATAKANA WE;So;0;L;<circle> 30F1;;;;N;;;;;
|
||||
32FE;CIRCLED KATAKANA WO;So;0;L;<circle> 30F2;;;;N;;;;;
|
||||
32FF;SQUARE ERA NAME NEWERA;So;0;L;<square> 5143 53F7;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME NEWERA;;;;
|
||||
32FF;SQUARE ERA NAME REIWA;So;0;L;<square> 4EE4 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME REIWA;;;;
|
||||
3300;SQUARE APAATO;So;0;L;<square> 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;;
|
||||
3301;SQUARE ARUHUA;So;0;L;<square> 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;;
|
||||
3302;SQUARE ANPEA;So;0;L;<square> 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;;
|
||||
|
@ -151,14 +151,14 @@ public final class JapaneseEra
|
||||
*/
|
||||
public static final JapaneseEra HEISEI = new JapaneseEra(2, LocalDate.of(1989, 1, 8));
|
||||
/**
|
||||
* The singleton instance for the 'NewEra' era (2019-05-01 - current)
|
||||
* The singleton instance for the 'Reiwa' era (2019-05-01 - )
|
||||
* which has the value 3.
|
||||
*/
|
||||
private static final JapaneseEra NEWERA = new JapaneseEra(3, LocalDate.of(2019, 5, 1));
|
||||
private static final JapaneseEra REIWA = new JapaneseEra(3, LocalDate.of(2019, 5, 1));
|
||||
|
||||
// The number of predefined JapaneseEra constants.
|
||||
// There may be a supplemental era defined by the property.
|
||||
private static final int N_ERA_CONSTANTS = NEWERA.getValue() + ERA_OFFSET;
|
||||
private static final int N_ERA_CONSTANTS = REIWA.getValue() + ERA_OFFSET;
|
||||
|
||||
/**
|
||||
* Serialization version.
|
||||
@ -176,7 +176,7 @@ public final class JapaneseEra
|
||||
KNOWN_ERAS[1] = TAISHO;
|
||||
KNOWN_ERAS[2] = SHOWA;
|
||||
KNOWN_ERAS[3] = HEISEI;
|
||||
KNOWN_ERAS[4] = NEWERA;
|
||||
KNOWN_ERAS[4] = REIWA;
|
||||
for (int i = N_ERA_CONSTANTS; i < ERA_CONFIG.length; i++) {
|
||||
CalendarDate date = ERA_CONFIG[i].getSinceDate();
|
||||
LocalDate isoDate = LocalDate.of(date.getYear(), date.getMonth(), date.getDayOfMonth());
|
||||
|
@ -50,7 +50,7 @@ import sun.util.calendar.ZoneInfo;
|
||||
* 2 Taisho 1912-07-30T00:00:00 local time
|
||||
* 3 Showa 1926-12-25T00:00:00 local time
|
||||
* 4 Heisei 1989-01-08T00:00:00 local time
|
||||
* 5 NewEra 2019-05-01T00:00:00 local time
|
||||
* 5 Reiwa 2019-05-01T00:00:00 local time
|
||||
* ------------------------------------------------------
|
||||
* }</pre>
|
||||
*
|
||||
@ -129,9 +129,9 @@ class JapaneseImperialCalendar extends Calendar {
|
||||
public static final int HEISEI = 4;
|
||||
|
||||
/**
|
||||
* The ERA constant designating the NewEra era.
|
||||
* The ERA constant designating the Reiwa era.
|
||||
*/
|
||||
private static final int NEWERA = 5;
|
||||
private static final int REIWA = 5;
|
||||
|
||||
private static final int EPOCH_OFFSET = 719163; // Fixed date of January 1, 1970 (Gregorian)
|
||||
|
||||
@ -1761,12 +1761,12 @@ class JapaneseImperialCalendar extends Calendar {
|
||||
}
|
||||
} else if (transitionYear) {
|
||||
if (jdate.getYear() == 1) {
|
||||
// As of NewEra (since Meiji) there's no case
|
||||
// As of Reiwa (since Meiji) there's no case
|
||||
// that there are multiple transitions in a
|
||||
// year. Historically there was such
|
||||
// case. There might be such case again in the
|
||||
// future.
|
||||
if (era > NEWERA) {
|
||||
if (era > REIWA) {
|
||||
CalendarDate pd = eras[era - 1].getSinceDate();
|
||||
if (normalizedYear == pd.getYear()) {
|
||||
d.setMonth(pd.getMonth()).setDayOfMonth(pd.getDayOfMonth());
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1996, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -106,7 +106,7 @@ public class FormatData extends ParallelListResourceBundle {
|
||||
"T",
|
||||
"S",
|
||||
"H",
|
||||
"N", // NewEra
|
||||
"R",
|
||||
};
|
||||
|
||||
// Japanese imperial calendar era strings
|
||||
@ -116,7 +116,7 @@ public class FormatData extends ParallelListResourceBundle {
|
||||
"Taisho",
|
||||
"Showa",
|
||||
"Heisei",
|
||||
"NewEra", // NewEra
|
||||
"Reiwa",
|
||||
};
|
||||
|
||||
return new Object[][] {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -159,7 +159,7 @@ public class JavaTimeSupplementary extends OpenListResourceBundle {
|
||||
"Taisho",
|
||||
"Showa",
|
||||
"Heisei",
|
||||
"NewEra", // New Era
|
||||
"Reiwa",
|
||||
};
|
||||
|
||||
final String[] sharedShortEras = {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -48,7 +48,7 @@ import java.util.TimeZone;
|
||||
* Taisho 1912-07-30T00:00:00 local time
|
||||
* Showa 1926-12-25T00:00:00 local time
|
||||
* Heisei 1989-01-08T00:00:00 local time
|
||||
* NewEra 2019-05-01T00:00:00 local time
|
||||
* Reiwa 2019-05-01T00:00:00 local time
|
||||
* -----------------------------------------------------------------------
|
||||
* }</pre>
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -43,7 +43,7 @@ public class LocalGregorianCalendar extends BaseCalendar {
|
||||
new Era("Taisho", "T", -1812153600000L, true),
|
||||
new Era("Showa", "S", -1357603200000L, true),
|
||||
new Era("Heisei", "H", 600220800000L, true),
|
||||
new Era("NewEra", "N", 1556668800000L, true),
|
||||
new Era("Reiwa", "R", 1556668800000L, true),
|
||||
};
|
||||
|
||||
private static boolean isValidEra(Era newEra, Era[] eras) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -84,10 +84,10 @@ public class CalendarNameProviderImpl extends CalendarNameProvider implements Av
|
||||
Era[] jeras = CalendarSystem.forName("japanese").getEras();
|
||||
if (value <= jeras.length) {
|
||||
// Localized era name could not be retrieved from this provider.
|
||||
// This can occur either for NewEra or SupEra.
|
||||
// This can occur either for Reiwa or SupEra.
|
||||
//
|
||||
// If it's CLDR provider, try COMPAT first, which is guaranteed to have
|
||||
// the name for NewEra.
|
||||
// the name for Reiwa.
|
||||
if (type == LocaleProviderAdapter.Type.CLDR) {
|
||||
lr = LocaleProviderAdapter.forJRE().getLocaleResources(locale);
|
||||
key = getResourceKeyFor(LocaleProviderAdapter.Type.JRE,
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1996, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -91,7 +91,7 @@ public class FormatData_ja extends ParallelListResourceBundle {
|
||||
"\u5927\u6b63", // Taisho
|
||||
"\u662d\u548c", // Showa
|
||||
"\u5e73\u6210", // Heisei
|
||||
"\u5143\u53f7", // NewEra
|
||||
"\u4ee4\u548c", // Reiwa
|
||||
};
|
||||
final String[] rocEras = {
|
||||
"\u6c11\u56fd\u524d",
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -154,7 +154,7 @@ public class JavaTimeSupplementary_ja extends OpenListResourceBundle {
|
||||
"\u5927\u6b63",
|
||||
"\u662d\u548c",
|
||||
"\u5e73\u6210",
|
||||
"\u5143\u53f7", // NewEra
|
||||
"\u4ee4\u548c",
|
||||
};
|
||||
|
||||
final String[] sharedJavaTimeShortEras = {
|
||||
|
@ -11836,7 +11836,7 @@
|
||||
32FC;CIRCLED KATAKANA WI;So;0;L;<circle> 30F0;;;;N;;;;;
|
||||
32FD;CIRCLED KATAKANA WE;So;0;L;<circle> 30F1;;;;N;;;;;
|
||||
32FE;CIRCLED KATAKANA WO;So;0;L;<circle> 30F2;;;;N;;;;;
|
||||
32FF;SQUARE ERA NAME NEWERA;So;0;L;<square> 5143 53F7;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME NEWERA;;;;
|
||||
32FF;SQUARE ERA NAME REIWA;So;0;L;<square> 4EE4 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME REIWA;;;;
|
||||
3300;SQUARE APAATO;So;0;L;<square> 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;;
|
||||
3301;SQUARE ARUHUA;So;0;L;<square> 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;;
|
||||
3302;SQUARE ANPEA;So;0;L;<square> 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -137,9 +137,9 @@ public class WeekDateTest {
|
||||
Calendar jcal = Calendar.getInstance(TimeZone.getTimeZone("GMT"),
|
||||
new Locale("ja", "JP", "JP"));
|
||||
|
||||
String format = "2-W01-2"; // 2019-12-31 == N1-12-31
|
||||
String format = "2-W01-2"; // 2019-12-31 == R1-12-31
|
||||
int expectedYear = 2019;
|
||||
// Check the current era, Heisei or NewEra
|
||||
// Check the current era, Heisei or Reiwa
|
||||
if (System.currentTimeMillis() < 1556668800000L) {
|
||||
format = "21-W01-3"; // 2008-12-31 == H20-12-31
|
||||
expectedYear = 2008;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
o Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
o Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -111,7 +111,9 @@ import org.testng.annotations.Test;
|
||||
*/
|
||||
@Test
|
||||
public class TCKJapaneseChronology {
|
||||
private static final int YDIFF_NEWERA = 2018;
|
||||
|
||||
// Year differences from Gregorian years.
|
||||
private static final int YDIFF_REIWA = 2018;
|
||||
private static final int YDIFF_HEISEI = 1988;
|
||||
private static final int YDIFF_MEIJI = 1867;
|
||||
private static final int YDIFF_SHOWA = 1925;
|
||||
@ -174,7 +176,7 @@ public class TCKJapaneseChronology {
|
||||
@DataProvider(name="createByEra")
|
||||
Object[][] data_createByEra() {
|
||||
return new Object[][] {
|
||||
{JapaneseEra.of(3), 2020 - YDIFF_NEWERA, 2, 29, 60, LocalDate.of(2020, 2, 29)}, // NEWERA
|
||||
{JapaneseEra.of(3), 2020 - YDIFF_REIWA, 2, 29, 60, LocalDate.of(2020, 2, 29)},
|
||||
{JapaneseEra.HEISEI, 1996 - YDIFF_HEISEI, 2, 29, 60, LocalDate.of(1996, 2, 29)},
|
||||
{JapaneseEra.HEISEI, 2000 - YDIFF_HEISEI, 2, 29, 60, LocalDate.of(2000, 2, 29)},
|
||||
{JapaneseEra.MEIJI, 1874 - YDIFF_MEIJI, 2, 28, 59, LocalDate.of(1874, 2, 28)},
|
||||
@ -367,8 +369,8 @@ public class TCKJapaneseChronology {
|
||||
@DataProvider(name="prolepticYear")
|
||||
Object[][] data_prolepticYear() {
|
||||
return new Object[][] {
|
||||
{3, JapaneseEra.of(3), 1, 1 + YDIFF_NEWERA, false}, // NEWERA
|
||||
{3, JapaneseEra.of(3), 102, 102 + YDIFF_NEWERA, true}, // NEWERA
|
||||
{3, JapaneseEra.of(3), 1, 1 + YDIFF_REIWA, false},
|
||||
{3, JapaneseEra.of(3), 102, 102 + YDIFF_REIWA, true},
|
||||
|
||||
{2, JapaneseEra.HEISEI, 1, 1 + YDIFF_HEISEI, false},
|
||||
{2, JapaneseEra.HEISEI, 4, 4 + YDIFF_HEISEI, true},
|
||||
@ -553,7 +555,7 @@ public class TCKJapaneseChronology {
|
||||
{ JapaneseEra.TAISHO, 0, "Taisho"},
|
||||
{ JapaneseEra.SHOWA, 1, "Showa"},
|
||||
{ JapaneseEra.HEISEI, 2, "Heisei"},
|
||||
{ JapaneseEra.of(3), 3, "NewEra"}, // NEWERA
|
||||
{ JapaneseEra.of(3), 3, "Reiwa"},
|
||||
};
|
||||
}
|
||||
|
||||
@ -689,7 +691,7 @@ public class TCKJapaneseChronology {
|
||||
{JapaneseChronology.INSTANCE.date(1989, 1, 7), "Japanese Showa 64-01-07"},
|
||||
{JapaneseChronology.INSTANCE.date(1989, 1, 8), "Japanese Heisei 1-01-08"},
|
||||
{JapaneseChronology.INSTANCE.date(2012, 12, 6), "Japanese Heisei 24-12-06"},
|
||||
{JapaneseChronology.INSTANCE.date(2020, 1, 6), "Japanese NewEra 2-01-06"},
|
||||
{JapaneseChronology.INSTANCE.date(2020, 1, 6), "Japanese Reiwa 2-01-06"},
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -79,7 +79,7 @@ public class TCKJapaneseEra {
|
||||
@DataProvider(name = "JapaneseEras")
|
||||
Object[][] data_of_eras() {
|
||||
return new Object[][] {
|
||||
{JapaneseEra.of(3), "NewEra", 3}, // NEWERA
|
||||
{JapaneseEra.of(3), "Reiwa", 3},
|
||||
{JapaneseEra.HEISEI, "Heisei", 2},
|
||||
{JapaneseEra.SHOWA, "Showa", 1},
|
||||
{JapaneseEra.TAISHO, "Taisho", 0},
|
||||
|
@ -34,6 +34,7 @@ import java.util.Locale;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Test;
|
||||
import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* Tests for the Japanese chronology
|
||||
@ -59,7 +60,7 @@ public class TestJapaneseChronology {
|
||||
{ JapaneseEra.SHOWA, 64, 1, 7, 1989 },
|
||||
{ JapaneseEra.HEISEI, 1, 1, 8, 1989 },
|
||||
{ JapaneseEra.HEISEI, 31, 4, 30, 2019 },
|
||||
{ JapaneseEra.of(3), 1, 5, 1, 2019 }, // NEWERA
|
||||
{ JapaneseEra.of(3), 1, 5, 1, 2019 },
|
||||
};
|
||||
}
|
||||
|
||||
@ -77,7 +78,7 @@ public class TestJapaneseChronology {
|
||||
{ JapaneseEra.HEISEI, 1, 1, 1, 8 },
|
||||
{ JapaneseEra.HEISEI, 2, 8, 1, 8 },
|
||||
{ JapaneseEra.HEISEI, 31, 120, 4, 30 },
|
||||
{ JapaneseEra.of(3), 1, 1, 5, 1 }, // NEWERA
|
||||
{ JapaneseEra.of(3), 1, 1, 5, 1 },
|
||||
};
|
||||
}
|
||||
|
||||
@ -110,8 +111,8 @@ public class TestJapaneseChronology {
|
||||
{ JapaneseEra.HEISEI, 1, 1, 7 },
|
||||
{ JapaneseEra.HEISEI, 1, 2, 29 },
|
||||
{ JapaneseEra.HEISEI, 31, 5, 1 },
|
||||
{ JapaneseEra.of(3), 1, 4, 30 }, // NEWERA
|
||||
{ JapaneseEra.of(3), Year.MAX_VALUE, 12, 31 }, // NEWERA
|
||||
{ JapaneseEra.of(3), 1, 4, 30 },
|
||||
{ JapaneseEra.of(3), Year.MAX_VALUE, 12, 31 },
|
||||
};
|
||||
}
|
||||
|
||||
@ -131,9 +132,9 @@ public class TestJapaneseChronology {
|
||||
{ JapaneseEra.HEISEI, -1 },
|
||||
{ JapaneseEra.HEISEI, 0 },
|
||||
{ JapaneseEra.HEISEI, 32 },
|
||||
{ JapaneseEra.of(3), -1 }, // NEWERA
|
||||
{ JapaneseEra.of(3), 0 }, // NEWERA
|
||||
{ JapaneseEra.of(3), Year.MAX_VALUE }, // NEWERA
|
||||
{ JapaneseEra.of(3), -1 },
|
||||
{ JapaneseEra.of(3), 0 },
|
||||
{ JapaneseEra.of(3), Year.MAX_VALUE },
|
||||
};
|
||||
}
|
||||
|
||||
@ -151,8 +152,21 @@ public class TestJapaneseChronology {
|
||||
{ JapaneseEra.HEISEI, 1, 360 },
|
||||
{ JapaneseEra.HEISEI, 2, 366 },
|
||||
{ JapaneseEra.HEISEI, 31, 121 },
|
||||
{ JapaneseEra.of(3), 1, 246 }, // NEWERA
|
||||
{ JapaneseEra.of(3), 2, 367 }, // NEWERA
|
||||
{ JapaneseEra.of(3), 1, 246 },
|
||||
{ JapaneseEra.of(3), 2, 367 },
|
||||
};
|
||||
}
|
||||
|
||||
@DataProvider
|
||||
Object[][] eraNameData() {
|
||||
return new Object[][] {
|
||||
// Japanese era, name, exception
|
||||
{ "Meiji", JapaneseEra.MEIJI, null },
|
||||
{ "Taisho", JapaneseEra.TAISHO, null },
|
||||
{ "Showa", JapaneseEra.SHOWA, null },
|
||||
{ "Heisei", JapaneseEra.HEISEI, null },
|
||||
{ "Reiwa", JapaneseEra.of(3), null },
|
||||
{ "NewEra", null, IllegalArgumentException.class},
|
||||
};
|
||||
}
|
||||
|
||||
@ -204,4 +218,13 @@ public class TestJapaneseChronology {
|
||||
JapaneseDate date = JAPANESE.dateYearDay(era, yearOfEra, dayOfYear);
|
||||
System.out.printf("No DateTimeException with era=%s, year=%d, dayOfYear=%d%n", era, yearOfEra, dayOfYear);
|
||||
}
|
||||
|
||||
@Test(dataProvider="eraNameData")
|
||||
public void test_eraName(String eraName, JapaneseEra era, Class expectedEx) {
|
||||
try {
|
||||
assertEquals(JapaneseEra.valueOf(eraName), era);
|
||||
} catch (Exception ex) {
|
||||
assertTrue(expectedEx.isInstance(ex));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -776,9 +776,9 @@ public class TestUmmAlQuraChronology {
|
||||
{HijrahDate.of(1434,5,1), "Japanese Heisei 25-03-13"},
|
||||
{HijrahDate.of(1436,1,1), "Japanese Heisei 26-10-25"},
|
||||
{HijrahDate.of(1440,8,25), "Japanese Heisei 31-04-30"},
|
||||
{HijrahDate.of(1440,8,26), "Japanese NewEra 1-05-01"},
|
||||
{HijrahDate.of(1500,6,12), "Japanese NewEra 59-05-05"},
|
||||
{HijrahDate.of(1550,3,11), "Japanese NewEra 107-08-11"},
|
||||
{HijrahDate.of(1440,8,26), "Japanese Reiwa 1-05-01"},
|
||||
{HijrahDate.of(1500,6,12), "Japanese Reiwa 59-05-05"},
|
||||
{HijrahDate.of(1550,3,11), "Japanese Reiwa 107-08-11"},
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -143,7 +143,7 @@ public class TestNonIsoFormatter {
|
||||
// Chronology, lenient era/year, strict era/year
|
||||
{ JAPANESE, "Meiji 123", "Heisei 2" },
|
||||
{ JAPANESE, "Showa 65", "Heisei 2" },
|
||||
{ JAPANESE, "Heisei 32", "NewEra 2" }, // NewEra
|
||||
{ JAPANESE, "Heisei 32", "Reiwa 2" },
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -364,7 +364,7 @@ public class CalendarAdapter extends Calendar {
|
||||
"Taisho",
|
||||
"Showa",
|
||||
"Heisei",
|
||||
"NewEra"
|
||||
"Reiwa"
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -322,7 +322,7 @@ public class Symbol {
|
||||
put("taisho", new Symbol(Type.ERA, 2));
|
||||
put("showa", new Symbol(Type.ERA, 3));
|
||||
put("heisei", new Symbol(Type.ERA, 4));
|
||||
put("newera", new Symbol(Type.ERA, 5));
|
||||
put("reiwa", new Symbol(Type.ERA, 5));
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ test Default dates
|
||||
check millisecond 0
|
||||
|
||||
clear all
|
||||
set era NewEra
|
||||
set era Reiwa
|
||||
check era Heisei
|
||||
check datetime 31 Jan 1 0 0 0
|
||||
check millisecond 0
|
||||
|
@ -16,10 +16,10 @@ set non-lenient
|
||||
test add ERA
|
||||
use jcal
|
||||
clear all
|
||||
set date NewEra 17 Mar 8
|
||||
set date Reiwa 17 Mar 8
|
||||
add era 10
|
||||
# as of NewEra 17 March 8
|
||||
check era NewEra
|
||||
# as of Reiwa 17 March 8
|
||||
check era Reiwa
|
||||
add era -100
|
||||
check era BeforeMeiji
|
||||
|
||||
@ -342,12 +342,12 @@ test add MONTH
|
||||
check date BeforeMeiji $minyear May 18
|
||||
check timeofday 1 47 4 191
|
||||
|
||||
set date NewEra 17 Jan 1
|
||||
set date Reiwa 17 Jan 1
|
||||
get max year
|
||||
assign $result $max
|
||||
set date NewEra $max Jul 17
|
||||
set date Reiwa $max Jul 17
|
||||
add month 1
|
||||
check date NewEra $max Aug 17
|
||||
check date Reiwa $max Aug 17
|
||||
# set date Heisei $max Jul 28
|
||||
# set timeofday 23 59 59 999
|
||||
# add month 1
|
||||
|
@ -14,10 +14,10 @@ new instance tokyocal
|
||||
|
||||
test Make sure that the maximum year value doesn't depent on era
|
||||
use jcal
|
||||
# Note: the max year value is as of NewEra
|
||||
# Note: the max year value is as of Reiwa
|
||||
assign 292276976 $max
|
||||
clear all
|
||||
set date NewEra 1 May 1
|
||||
set date Reiwa 1 May 1
|
||||
get millis
|
||||
check max year $max
|
||||
assign $max $maxyear
|
||||
@ -39,9 +39,9 @@ test Make sure that the maximum year value doesn't depent on era
|
||||
|
||||
test Max of ERA
|
||||
use jcal
|
||||
# Assumption: NewEra is the current era
|
||||
check maximum era NewEra
|
||||
check leastmax era NewEra
|
||||
# Assumption: Reiwa is the current era
|
||||
check maximum era Reiwa
|
||||
check leastmax era Reiwa
|
||||
|
||||
test Actual max MONTH
|
||||
use jcal
|
||||
@ -78,7 +78,7 @@ test Actual max MONTH
|
||||
check actualmax month Apr
|
||||
|
||||
clear all
|
||||
set date NewEra 2 Jan 1
|
||||
set date Reiwa 2 Jan 1
|
||||
set year $maxyear
|
||||
check actualmax month Aug
|
||||
get millis
|
||||
@ -133,8 +133,8 @@ test Actual max DAY_OF_YEAR
|
||||
# time zone dependent
|
||||
use tokyocal
|
||||
clear all
|
||||
set date NewEra $maxyear Jan 1
|
||||
# the last date of NewEra is N292276976.08.17T16:12:55.807+0900
|
||||
set date Reiwa $maxyear Jan 1
|
||||
# the last date of Reiwa is R292276976.08.17T16:12:55.807+0900
|
||||
check actualmax day_of_year 229 # 31+28+31+30+31+30+31+17
|
||||
|
||||
test Actual max WEEK_OF_YEAR
|
||||
@ -165,12 +165,12 @@ test Actual max WEEK_OF_YEAR
|
||||
clear all
|
||||
set date Heisei 31 Apr 28
|
||||
check actualmax week_of_year 17
|
||||
set date NewEra 1 Aug 9
|
||||
set date Reiwa 1 Aug 9
|
||||
check actualmax week_of_year 35
|
||||
|
||||
use tokyocal
|
||||
set date NewEra $maxyear Jan 1
|
||||
# the last date of NewEra is N292276976.08.17T16:12:55.807+0900 (Sunday)
|
||||
set date Reiwa $maxyear Jan 1
|
||||
# the last date of Reiwa is R292276976.08.17T16:12:55.807+0900 (Sunday)
|
||||
# The year is equivalent to 2003 (Gregorian).
|
||||
check actualmax week_of_year 34
|
||||
|
||||
@ -197,12 +197,12 @@ test Actual max WEEK_OF_MONTH
|
||||
clear all
|
||||
set date Heisei 31 Apr 30
|
||||
check actualmax week_of_month 5
|
||||
set date NewEra 1 May 1
|
||||
set date Reiwa 1 May 1
|
||||
check actualmax week_of_month 5
|
||||
|
||||
use tokyocal
|
||||
set date NewEra $maxyear Jan 1
|
||||
# the last date of NewEra is N292276976.08.17T16:12:55.807+0900 (Sunday)
|
||||
set date Reiwa $maxyear Jan 1
|
||||
# the last date of Reiwa is R292276976.08.17T16:12:55.807+0900 (Sunday)
|
||||
# The year is equivalent to 2003 (Gregorian).
|
||||
check actualmax week_of_month 4
|
||||
|
||||
@ -229,13 +229,13 @@ test Actual max DAY_OF_WEEK_IN_MONTH
|
||||
clear all
|
||||
set date Heisei 31 Apr 30
|
||||
check actualmax week_of_month 5
|
||||
set date NewEra 1 May 1
|
||||
set date Reiwa 1 May 1
|
||||
check actualmax week_of_month 5
|
||||
|
||||
use tokyocal
|
||||
clear all
|
||||
set date NewEra $maxyear Jan 1
|
||||
# the last date of NewEra is N292276976.08.17T16:12:55.807+0900 (Sunday)
|
||||
set date Reiwa $maxyear Jan 1
|
||||
# the last date of Reiwa is R292276976.08.17T16:12:55.807+0900 (Sunday)
|
||||
# The year is equivalent to 2003 (Gregorian).
|
||||
check actualmax week_of_month 4
|
||||
|
||||
@ -269,11 +269,11 @@ test Actual max YEAR
|
||||
set date Heisei 1 Aug 18
|
||||
check actualmax year 30
|
||||
|
||||
set date NewEra 1 Apr 30
|
||||
set date Reiwa 1 Apr 30
|
||||
check actualmax year 31
|
||||
|
||||
# Date/time beyond the last date in the max year.
|
||||
set date NewEra 1 Aug 18
|
||||
set date Reiwa 1 Aug 18
|
||||
check actualmax year 292276975
|
||||
|
||||
test Least max YEAR
|
||||
|
@ -147,13 +147,13 @@ test roll YEAR
|
||||
roll year -1
|
||||
check date Heisei 31 Apr 30
|
||||
|
||||
set date NewEra 2 Apr 30
|
||||
set date Reiwa 2 Apr 30
|
||||
get max year
|
||||
assign $result $hmax
|
||||
roll year -1
|
||||
check date NewEra $hmax Apr 30
|
||||
check date Reiwa $hmax Apr 30
|
||||
roll year 1
|
||||
check date NewEra 2 Apr 30
|
||||
check date Reiwa 2 Apr 30
|
||||
|
||||
test roll MONTH
|
||||
set date BeforeMeiji 1867 Dec 1
|
||||
@ -276,16 +276,16 @@ test roll MONTH
|
||||
check date BeforeMeiji $minyear May 18
|
||||
check timeofday 1 47 4 191
|
||||
|
||||
set date NewEra 17 Jan 1
|
||||
set date Reiwa 17 Jan 1
|
||||
get max year
|
||||
assign $result $max
|
||||
set date NewEra $max Jul 28
|
||||
set date Reiwa $max Jul 28
|
||||
roll month 1
|
||||
check date NewEra $max Aug 17
|
||||
set date NewEra $max Jul 28
|
||||
check date Reiwa $max Aug 17
|
||||
set date Reiwa $max Jul 28
|
||||
set timeofday 23 59 59 999
|
||||
roll month 1
|
||||
check date NewEra $max Aug 16
|
||||
check date Reiwa $max Aug 16
|
||||
check timeofday 23 59 59 999
|
||||
|
||||
test roll WEEK_OF_YEAR
|
||||
|
@ -51,12 +51,12 @@ public class JapaneseEraNameTest {
|
||||
Object[][] names() {
|
||||
return new Object[][] {
|
||||
// type, locale, name
|
||||
{ LONG, JAPAN, "\u5143\u53f7" }, // NewEra
|
||||
{ LONG, US, "NewEra" },
|
||||
{ LONG, CHINA, "NewEra" },
|
||||
{ SHORT, JAPAN, "\u5143\u53f7" },
|
||||
{ SHORT, US, "NewEra" },
|
||||
{ SHORT, CHINA, "N" },
|
||||
{ LONG, JAPAN, "\u4ee4\u548c" },
|
||||
{ LONG, US, "Reiwa" },
|
||||
{ LONG, CHINA, "Reiwa" },
|
||||
{ SHORT, JAPAN, "\u4ee4\u548c" },
|
||||
{ SHORT, US, "Reiwa" },
|
||||
{ SHORT, CHINA, "R" },
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -47,7 +47,7 @@ public class JapaneseLenientEraTest {
|
||||
// lenient era/year, strict era/year
|
||||
{ "Meiji 123", "Heisei 2" },
|
||||
{ "Sh\u014dwa 65", "Heisei 2" },
|
||||
{ "Heisei 32", "NewEra 2" }, // NewEra
|
||||
{ "Heisei 32", "Reiwa 2" },
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -68,7 +68,7 @@ public class NarrowNamesTest {
|
||||
HOUR_OF_DAY, 23);
|
||||
test(JAJPJP, DAY_OF_WEEK,
|
||||
LocalDateTime.now().isBefore(LocalDateTime.of(2019, 5, 1, 0, 0)) ?
|
||||
"\u65e5" : "\u706b", // "Sun" for HEISEI, "Tue" for NEWERA
|
||||
"\u65e5" : "\u706b", // "Sun" for HEISEI, "Tue" for REIWA
|
||||
YEAR, 24, MONTH, DECEMBER, DAY_OF_MONTH, 23);
|
||||
test(THTH, MONTH, NARROW_STANDALONE, "\u0e18.\u0e04.",
|
||||
YEAR, 2555, MONTH, DECEMBER, DAY_OF_MONTH, 5);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -240,11 +240,11 @@ public class ZoneOffsets {
|
||||
}
|
||||
|
||||
private static void adjustJapaneseEra(Calendar cal) {
|
||||
// In case of Japanese calendar, explicitly set the last era; NEWERA so that
|
||||
// In case of Japanese calendar, explicitly set the last era; REIWA so that
|
||||
// year 2005 won't throw exception
|
||||
if (!cal.isLenient() &&
|
||||
cal.getCalendarType().equals("japanese") &&
|
||||
System.currentTimeMillis() < 1556668800000L) { // Current time not in NEWERA
|
||||
System.currentTimeMillis() < 1556668800000L) { // Current time not in REIWA
|
||||
cal.set(Calendar.ERA, 5);
|
||||
cal.add(Calendar.YEAR, -30); // -30: Subtract year-length of HEISEI era
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user