Merge "Add tests for Japanese eras formatting"
diff --git a/luni/src/test/java/libcore/java/time/chrono/JapaneseChronologyTest.java b/luni/src/test/java/libcore/java/time/chrono/JapaneseChronologyTest.java
index 3c1f0cf..5e920b3 100644
--- a/luni/src/test/java/libcore/java/time/chrono/JapaneseChronologyTest.java
+++ b/luni/src/test/java/libcore/java/time/chrono/JapaneseChronologyTest.java
@@ -15,7 +15,9 @@
  */
 package libcore.java.time.chrono;
 
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
 import java.time.Instant;
 import java.time.LocalDate;
 import java.time.LocalTime;
@@ -26,10 +28,11 @@
 import java.time.chrono.JapaneseChronology;
 import java.time.chrono.JapaneseDate;
 import java.time.chrono.JapaneseEra;
+import java.time.format.DateTimeFormatter;
+import java.time.format.FormatStyle;
 import java.time.temporal.ChronoField;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
+import java.util.Locale;
+import org.junit.Test;
 
 /**
  * Additional tests for {@link JapaneseChronology} and {@link JapaneseDate}.
@@ -110,4 +113,35 @@
         assertEquals(true, date.isSupported(ChronoField.YEAR));
         assertEquals(true, date.isSupported(ChronoField.YEAR_OF_ERA));
     }
+
+    @Test
+    public void test_JapaneseEras_dateTimeFormatter() {
+        DateTimeFormatter formatter = DateTimeFormatter
+            .ofLocalizedDate(FormatStyle.FULL)
+            .withChronology(JapaneseChronology.INSTANCE);
+
+        final LocalDate heisei = LocalDate.of(2018, 1, 1);
+        final Locale ja = Locale.forLanguageTag("ja-JP-u-ca-japanese");
+        assertEquals("平成30年1月1日月曜日", heisei.format(formatter.withLocale(ja)));
+        assertEquals("Monday, January 1, 30 Heisei",
+            heisei.format(formatter.withLocale(Locale.ENGLISH)));
+
+        final LocalDate reiwa = LocalDate.of(2019, 5, 1);
+        assertEquals("令和1年5月1日水曜日", reiwa.format(formatter.withLocale(ja)));
+        assertEquals("Wednesday, May 1, 1 Reiwa",
+            reiwa.format(formatter.withLocale(Locale.ENGLISH)));
+    }
+
+    // This tests era names from calendars.properties file
+    @Test
+    public void test_JapaneseEras_calendarsDotProperties() {
+        final LocalDate heisei = LocalDate.of(2018, 1, 1);
+        final LocalDate reiwa = LocalDate.of(2019, 5, 1);
+        JapaneseDate heiseiDate = JapaneseChronology.INSTANCE.date(heisei);
+        JapaneseDate reiwaDate = JapaneseChronology.INSTANCE.date(reiwa);
+
+        assertEquals("Heisei", heiseiDate.getEra().toString());
+        assertEquals("Reiwa", reiwaDate.getEra().toString());
+    }
+
 }