Fix dalvik/tests/062-character-encodings.

The dalvik charset test should just check that the standard charsets are
available, as guaranteed by the java.nio.charset.Charset documentation.

Bug: 2709552
Change-Id: I7d2b6210936f01736034222ce26cdf81c47ef984
diff --git a/tests/062-character-encodings/expected.txt b/tests/062-character-encodings/expected.txt
index aa0279a..b395a2a 100644
--- a/tests/062-character-encodings/expected.txt
+++ b/tests/062-character-encodings/expected.txt
@@ -1,417 +1 @@
-Big5
-  csBig5
-  windows-950
-  windows-950-2000
-  x-big5
-BOCU-1
-  csBOCU-1
-  ibm-1214
-  ibm-1215
-CESU-8
-  ibm-9400
-cp864
-  IBM864
-  csIBM864
-  ibm-864
-  ibm-864_X110-1999
-EUC-JP
-  Extended_UNIX_Code_Packed_Format_for_Japanese
-  X-EUC-JP
-  csEUCPkdFmtJapanese
-  eucjis
-  ibm-954
-  ibm-954_P101-2007
-  ujis
-EUC-KR
-  5601
-  KSC_5601
-  KS_C_5601-1987
-  KS_C_5601-1989
-  csEUCKR
-  csKSC56011987
-  iso-ir-149
-  korean
-  ms949
-  windows-949
-  windows-949-2000
-GBK
-  CP936
-  EUC-CN
-  GB2312
-  GB_2312-80
-  MS936
-  chinese
-  csGB2312
-  csISO58GB231280
-  gb2312-1980
-  iso-ir-58
-  windows-936
-  windows-936-2000
-HZ-GB-2312
-  HZ
-ISO-2022-JP
-  csISO2022JP
-ISO-8859-1
-  819
-  8859_1
-  IBM819
-  ISO_8859-1:1987
-  cp819
-  csISOLatin1
-  ibm-819
-  iso-ir-100
-  l1
-  latin1
-ISO-8859-10
-  ISO_8859-10:1992
-  csISOLatin6
-  iso-8859_10-1998
-  iso-ir-157
-  l6
-  latin6
-ISO-8859-13
-  8859_13
-  921
-  cp921
-  ibm-921
-  ibm-921_P100-1995
-  windows-28603
-ISO-8859-14
-  ISO_8859-14:1998
-  iso-8859_14-1998
-  iso-celtic
-  iso-ir-199
-  l8
-  latin8
-ISO-8859-15
-  8859_15
-  923
-  Latin-9
-  cp923
-  csisolatin0
-  csisolatin9
-  ibm-923
-  ibm-923_P100-1998
-  iso8859_15_fdis
-  l9
-  latin0
-  windows-28605
-ISO-8859-16
-  ISO_8859-16:2001
-  iso-8859_16-2001
-  iso-ir-226
-  l10
-  latin10
-ISO-8859-2
-  8859_2
-  912
-  ISO_8859-2:1987
-  cp912
-  csISOLatin2
-  ibm-912
-  ibm-912_P100-1995
-  iso-ir-101
-  l2
-  latin2
-  windows-28592
-ISO-8859-3
-  8859_3
-  913
-  ISO_8859-3:1988
-  cp913
-  csISOLatin3
-  ibm-913
-  ibm-913_P100-2000
-  iso-ir-109
-  l3
-  latin3
-  windows-28593
-ISO-8859-4
-  8859_4
-  914
-  ISO_8859-4:1988
-  cp914
-  csISOLatin4
-  ibm-914
-  ibm-914_P100-1995
-  iso-ir-110
-  l4
-  latin4
-  windows-28594
-ISO-8859-5
-  8859_5
-  915
-  ISO_8859-5:1988
-  cp915
-  csISOLatinCyrillic
-  cyrillic
-  ibm-915
-  ibm-915_P100-1995
-  iso-ir-144
-  windows-28595
-ISO-8859-6
-  1089
-  8859_6
-  ASMO-708
-  ECMA-114
-  ISO-8859-6-E
-  ISO-8859-6-I
-  ISO_8859-6:1987
-  arabic
-  cp1089
-  csISOLatinArabic
-  ibm-1089
-  ibm-1089_P100-1995
-  iso-ir-127
-  windows-28596
-ISO-8859-7
-  ECMA-118
-  ELOT_928
-  ISO_8859-7:1987
-  csISOLatinGreek
-  greek
-  greek8
-  ibm-9005
-  ibm-9005_X110-2007
-  iso-ir-126
-  sun_eu_greek
-  windows-28597
-ISO-8859-8
-  8859_8
-  ISO-8859-8-E
-  ISO-8859-8-I
-  ISO_8859-8:1988
-  csISOLatinHebrew
-  hebrew
-  ibm-5012
-  ibm-5012_P100-1999
-  iso-ir-138
-  windows-28598
-ISO-8859-9
-  8859_9
-  920
-  ECMA-128
-  ISO_8859-9:1989
-  cp920
-  csISOLatin5
-  ibm-920
-  ibm-920_P100-1995
-  iso-ir-148
-  l5
-  latin5
-  windows-28599
-KOI8-R
-  cp878
-  csKOI8R
-  ibm-878
-  ibm-878_P100-1996
-  koi8
-  windows-20866
-macintosh
-  csMacintosh
-  mac
-  macos-0_2-10.2
-  windows-10000
-SCSU
-  ibm-1212
-  ibm-1213
-Shift_JIS
-  IBM-943C
-  MS_Kanji
-  cp932
-  cp943c
-  csShiftJIS
-  csWindows31J
-  ibm-943
-  ibm-943_P15A-2003
-  ibm-943_VSUB_VPUA
-  ms932
-  pck
-  sjis
-  windows-31j
-  windows-932
-  x-ms-cp932
-  x-sjis
-TIS-620
-  MS874
-  cp874
-  eucTH
-  ibm-874
-  ibm-9066
-  tis620.2533
-  windows-874
-  windows-874-2000
-US-ASCII
-  646
-  ANSI_X3.4-1968
-  ANSI_X3.4-1986
-  ASCII
-  IBM367
-  ISO646-US
-  ISO_646.irv:1991
-  ascii7
-  cp367
-  csASCII
-  ibm-367
-  iso-ir-6
-  iso_646.irv:1983
-  us
-  windows-20127
-UTF-16
-  ISO-10646-UCS-2
-  csUnicode
-  ibm-1204
-  ibm-1205
-  ucs-2
-  unicode
-UTF-16BE
-  UTF16_BigEndian
-  cp1200
-  cp1201
-  ibm-1200
-  ibm-1201
-  ibm-13488
-  ibm-13489
-  ibm-17584
-  ibm-17585
-  ibm-21680
-  ibm-21681
-  ibm-25776
-  ibm-25777
-  ibm-61955
-  ibm-61956
-  windows-1201
-  x-utf-16be
-UTF-16LE
-  UTF16_LittleEndian
-  ibm-1202
-  ibm-1203
-  ibm-13490
-  ibm-13491
-  ibm-17586
-  ibm-17587
-  ibm-21682
-  ibm-21683
-  ibm-25778
-  ibm-25779
-  windows-1200
-  x-utf-16le
-UTF-32
-  ISO-10646-UCS-4
-  csUCS4
-  ibm-1236
-  ibm-1237
-  ucs-4
-UTF-32BE
-  UTF32_BigEndian
-  ibm-1232
-  ibm-1233
-UTF-32LE
-  UTF32_LittleEndian
-  ibm-1234
-  ibm-1235
-UTF-7
-  windows-65000
-UTF-8
-  cp1208
-  ibm-1208
-  ibm-1209
-  ibm-13496
-  ibm-13497
-  ibm-17592
-  ibm-17593
-  ibm-5304
-  ibm-5305
-  windows-65001
-windows-1250
-  cp1250
-  ibm-5346
-  ibm-5346_P100-1998
-windows-1251
-  ANSI1251
-  cp1251
-  ibm-5347
-  ibm-5347_P100-1998
-windows-1252
-  cp1252
-  ibm-5348
-  ibm-5348_P100-1997
-windows-1253
-  cp1253
-  ibm-5349
-  ibm-5349_P100-1998
-windows-1254
-  cp1254
-  ibm-5350
-  ibm-5350_P100-1998
-windows-1255
-  cp1255
-  ibm-9447
-  ibm-9447_P100-2002
-windows-1256
-  cp1256
-  ibm-9448
-  ibm-9448_X100-2005
-windows-1257
-  cp1257
-  ibm-9449
-  ibm-9449_P100-2002
-windows-1258
-  cp1258
-  ibm-5354
-  ibm-5354_P100-1998
-x-gsm-03.38-2000
-  GSM0338
-  gsm-03.38-2000
-x-ibm-1383_P110-1999
-  1383
-  cp1383
-  hp15CN
-  ibm-1383
-  ibm-1383_P110-1999
-  ibm-1383_VPUA
-  ibm-eucCN
-x-IMAP-mailbox-name
-  IMAP-mailbox-name
-x-iscii-be
-  iscii-bng
-  windows-57003
-  windows-57006
-  x-iscii-as
-x-iscii-de
-  ibm-4902
-  iscii-dev
-  windows-57002
-x-iscii-gu
-  iscii-guj
-  windows-57010
-x-iscii-ka
-  iscii-knd
-  windows-57008
-x-iscii-ma
-  iscii-mlm
-  windows-57009
-x-iscii-or
-  iscii-ori
-  windows-57007
-x-iscii-pa
-  iscii-gur
-  windows-57011
-x-iscii-ta
-  iscii-tml
-  windows-57004
-x-iscii-te
-  iscii-tlg
-  windows-57005
-x-iso-8859_11-2001
-  ISO-8859-11
-  iso-8859_11-2001
-  thai8
-x-UTF16_OppositeEndian
-  UTF16_OppositeEndian
-x-UTF16_PlatformEndian
-  UTF16_PlatformEndian
-x-UTF32_OppositeEndian
-  UTF32_OppositeEndian
-x-UTF32_PlatformEndian
-  UTF32_PlatformEndian
+Missing: []
diff --git a/tests/062-character-encodings/src/Main.java b/tests/062-character-encodings/src/Main.java
index a9b3dac..6e9f0cd 100644
--- a/tests/062-character-encodings/src/Main.java
+++ b/tests/062-character-encodings/src/Main.java
@@ -1,30 +1,25 @@
 import java.nio.charset.Charset;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.SortedMap;
 import java.util.Set;
 
 public class Main {
     static public void main(String[] args) throws Exception {
-        SortedMap<String, Charset> all = Charset.availableCharsets();
+        // These charsets must be provided; anything else is optional.
+        List<String> standardCharsets = Arrays.asList("US-ASCII", "ISO-8859-1",
+                "UTF-8", "UTF-16BE", "UTF-16LE", "UTF-16");
 
+        SortedMap<String, Charset> all = Charset.availableCharsets();
+        Set<String> needed = new HashSet<String>(standardCharsets);
         for (Map.Entry<String, Charset> e : all.entrySet()) {
             String canonicalName = e.getKey();
-            System.out.println(canonicalName);
-            Set<String> aliases = e.getValue().aliases();
-            if ((aliases != null) && (aliases.size() != 0)) {
-                ArrayList<String> list = new ArrayList<String>(aliases.size());
-                list.addAll(aliases);
-                Collections.sort(list);
-                for (String s : list) {
-                    if (! s.equals(canonicalName)) {
-                        System.out.println("  " + s);
-                    }
-                }
-            } else {
-                System.out.println("  (no aliases)");
-            }
+            needed.remove(canonicalName);
         }
+        System.out.println("Missing: " + needed);
     }
 }