Merge "Add tests for Locale.set[get]Default(Locale.Category..)"
diff --git a/luni/src/test/java/libcore/java/util/LocaleTest.java b/luni/src/test/java/libcore/java/util/LocaleTest.java
index 8d184e2..f9146b3 100644
--- a/luni/src/test/java/libcore/java/util/LocaleTest.java
+++ b/luni/src/test/java/libcore/java/util/LocaleTest.java
@@ -1250,4 +1250,31 @@
             Locale l = (Locale) oinput.readObject();
         }
     }
+
+    public void test_setDefault_withCategory() {
+        final Locale defaultLocale = Locale.getDefault();
+        try {
+            Locale.setDefault(Locale.US);
+            assertEquals(Locale.US, Locale.getDefault(Locale.Category.FORMAT));
+            assertEquals(Locale.US, Locale.getDefault(Locale.Category.DISPLAY));
+            assertEquals(Locale.US, Locale.getDefault());
+
+            Locale.setDefault(Locale.Category.FORMAT, Locale.UK);
+            assertEquals(Locale.UK, Locale.getDefault(Locale.Category.FORMAT));
+            assertEquals(Locale.US, Locale.getDefault(Locale.Category.DISPLAY));
+            assertEquals(Locale.US, Locale.getDefault());
+
+            Locale.setDefault(Locale.Category.DISPLAY, Locale.CANADA);
+            assertEquals(Locale.UK, Locale.getDefault(Locale.Category.FORMAT));
+            assertEquals(Locale.CANADA, Locale.getDefault(Locale.Category.DISPLAY));
+            assertEquals(Locale.US, Locale.getDefault());
+
+            Locale.setDefault(Locale.FRANCE);
+            assertEquals(Locale.FRANCE, Locale.getDefault(Locale.Category.FORMAT));
+            assertEquals(Locale.FRANCE, Locale.getDefault(Locale.Category.DISPLAY));
+            assertEquals(Locale.FRANCE, Locale.getDefault());
+        } finally {
+            Locale.setDefault(defaultLocale);
+        }
+    }
 }