jdk/test/sun/nio/cs/CheckHistoricalNames.java
author coffeys
Thu, 26 Feb 2015 09:36:30 +0000
changeset 29121 ab151045a89d
parent 7668 d4a77089c587
child 44115 bb4e971bf5d4
permissions -rw-r--r--
8071447: IBM1166 Locale Request for Kazakh characters Reviewed-by: sherman

/*
 * Copyright (c) 2008, 2010, 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
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

/* @test
   @bug 4513767 4961027 6217210
   @summary Checks canonical names match between old and (NIO) core charsets
 */
import java.io.InputStreamReader;
import java.io.IOException;

public class CheckHistoricalNames {
    static int failed = 0;
    public static void main (String[] args) throws Exception {
        checkHistoricalName("ASCII");
        checkHistoricalName("Cp1252");
        checkHistoricalName("ISO8859_1");
        checkHistoricalName("UnicodeBigUnmarked");
        checkHistoricalName("UnicodeLittle");
        checkHistoricalName("UnicodeLittleUnmarked");
        checkHistoricalName("UTF8");
        checkHistoricalName("UTF-16");

        checkMappedName("UnicodeBig", "UTF-16");
        checkMappedName("US-ASCII", "ASCII");
        checkMappedName("ISO-8859-1", "ISO8859_1");
        checkMappedName("UTF-8", "UTF8");
        checkMappedName("UTF-16BE", "UnicodeBigUnmarked");
        checkMappedName("UTF-16LE", "UnicodeLittleUnmarked");

        checkHistoricalName("ISO8859_2");
        checkHistoricalName("ISO8859_4");
        checkHistoricalName("ISO8859_5");
        checkHistoricalName("ISO8859_7");
        checkHistoricalName("ISO8859_9");
        checkHistoricalName("ISO8859_13");
        checkHistoricalName("KOI8_R");
        checkHistoricalName("Cp1250");
        checkHistoricalName("Cp1251");
        checkHistoricalName("Cp1253");
        checkHistoricalName("Cp1254");
        checkHistoricalName("Cp1257");

        checkMappedName("ISO-8859-2", "ISO8859_2");
        checkMappedName("ISO-8859-4", "ISO8859_4");
        checkMappedName("ISO-8859-5", "ISO8859_5");
        checkMappedName("ISO-8859-7", "ISO8859_7");
        checkMappedName("ISO-8859-9", "ISO8859_9");
        checkMappedName("ISO-8859-13", "ISO8859_13");
        checkMappedName("KOI8-R", "KOI8_R");
        checkMappedName("windows-1250", "Cp1250");
        checkMappedName("windows-1251","Cp1251");
        checkMappedName("windows-1253", "Cp1253");
        checkMappedName("windows-1254", "Cp1254");
        checkMappedName("windows-1257", "Cp1257");

        checkHistoricalName("EUC_CN");
        checkHistoricalName("EUC_JP");
        checkHistoricalName("EUC_JP_LINUX");
        checkHistoricalName("EUC_KR");
        checkHistoricalName("EUC_TW");
        checkHistoricalName("ISO2022CN");
        checkHistoricalName("ISO2022JP");
        checkHistoricalName("ISO2022KR");
        checkHistoricalName("ISO8859_3");
        checkHistoricalName("ISO8859_6");
        checkHistoricalName("ISO8859_8");
        checkHistoricalName("Cp1255");
        checkHistoricalName("Cp1256");
        checkHistoricalName("Cp1258");
        checkHistoricalName("MS936");
        checkHistoricalName("MS949");
        checkHistoricalName("MS950");
        checkHistoricalName("TIS620");

        checkMappedName("EUC-CN", "EUC_CN");
        checkMappedName("EUC-JP", "EUC_JP");
        checkMappedName("EUC-JP-LINUX", "EUC_JP_LINUX");
        checkMappedName("EUC-TW", "EUC_TW");
        checkMappedName("EUC-KR", "EUC_KR");
        checkMappedName("ISO-2022-CN", "ISO2022CN");
        checkMappedName("ISO-2022-JP", "ISO2022JP");
        checkMappedName("ISO-2022-KR", "ISO2022KR");
        checkMappedName("ISO-8859-3", "ISO8859_3");
        checkMappedName("ISO-8859-6", "ISO8859_6");
        checkMappedName("ISO-8859-8", "ISO8859_8");
        checkMappedName("windows-1255", "Cp1255");
        checkMappedName("windows-1256", "Cp1256");
        checkMappedName("windows-1258", "Cp1258");
        checkMappedName("windows-936", "GBK");
        checkMappedName("windows-949", "MS949");
        checkMappedName("windows-950", "MS950");
        checkMappedName("x-MS950-HKSCS", "MS950_HKSCS");
        checkMappedName("x-PCK", "PCK");
        checkMappedName("Shift_JIS", "SJIS");
        checkMappedName("x-JISAutoDetect", "JISAutoDetect");
        checkMappedName("TIS-620", "TIS620");
        checkMappedName("x-Big5-Solaris", "Big5_Solaris");

        checkHistoricalName("Cp037");
        checkHistoricalName("Cp1006");
        checkHistoricalName("Cp1025");
        checkHistoricalName("Cp1026");
        checkHistoricalName("Cp1046");
        checkHistoricalName("Cp1047");
        checkHistoricalName("Cp1097");
        checkHistoricalName("Cp1098");
        checkHistoricalName("Cp1112");
        checkHistoricalName("Cp1122");
        checkHistoricalName("Cp1123");
        checkHistoricalName("Cp1124");
        checkHistoricalName("Cp1140");
        checkHistoricalName("Cp1141");
        checkHistoricalName("Cp1142");
        checkHistoricalName("Cp1143");
        checkHistoricalName("Cp1144");
        checkHistoricalName("Cp1145");
        checkHistoricalName("Cp1146");
        checkHistoricalName("Cp1147");
        checkHistoricalName("Cp1148");
        checkHistoricalName("Cp1149");
        checkHistoricalName("Cp1381");
        checkHistoricalName("Cp1383");
        checkHistoricalName("Cp273");
        checkHistoricalName("Cp277");
        checkHistoricalName("Cp278");
        checkHistoricalName("Cp280");
        checkHistoricalName("Cp284");
        checkHistoricalName("Cp285");
        checkHistoricalName("Cp297");
        checkHistoricalName("Cp33722");
        checkHistoricalName("Cp420");
        checkHistoricalName("Cp424");
        checkHistoricalName("Cp437");
        checkHistoricalName("Cp500");
        checkHistoricalName("Cp737");
        checkHistoricalName("Cp775");
        checkHistoricalName("Cp833");
        checkHistoricalName("Cp838");
        checkHistoricalName("Cp850");
        checkHistoricalName("Cp852");
        checkHistoricalName("Cp855");
        checkHistoricalName("Cp856");
        checkHistoricalName("Cp857");
        checkHistoricalName("Cp858");
        checkHistoricalName("Cp860");
        checkHistoricalName("Cp861");
        checkHistoricalName("Cp862");
        checkHistoricalName("Cp863");
        checkHistoricalName("Cp864");
        checkHistoricalName("Cp865");
        checkHistoricalName("Cp866");
        checkHistoricalName("Cp868");
        checkHistoricalName("Cp869");
        checkHistoricalName("Cp870");
        checkHistoricalName("Cp871");
        checkHistoricalName("Cp874");
        checkHistoricalName("Cp875");
        checkHistoricalName("Cp918");
        checkHistoricalName("Cp921");
        checkHistoricalName("Cp922");
        checkHistoricalName("Cp933");
        checkHistoricalName("Cp939");
        checkHistoricalName("Cp949");
        checkHistoricalName("Cp964");
        checkHistoricalName("Cp970");

        checkMappedName("IBM037", "Cp037");
        checkMappedName("IBM1006", "Cp1006");
        checkMappedName("IBM1025", "Cp1025");
        checkMappedName("IBM1026", "Cp1026");
        checkMappedName("x-IBM1046", "Cp1046");
        checkMappedName("IBM1047", "Cp1047");
        checkMappedName("IBM1097", "Cp1097");
        checkMappedName("IBM1098", "Cp1098");
        checkMappedName("IBM1112", "Cp1112");
        checkMappedName("IBM1122", "Cp1122");
        checkMappedName("IBM1123", "Cp1123");
        checkMappedName("IBM1124", "Cp1124");
        checkMappedName("IBM1166", "Cp1166");
        checkMappedName("IBM01140", "Cp1140");
        checkMappedName("IBM01141", "Cp1141");
        checkMappedName("IBM01142", "Cp1142");
        checkMappedName("IBM01143", "Cp1143");
        checkMappedName("IBM01144", "Cp1144");
        checkMappedName("IBM01145", "Cp1145");
        checkMappedName("IBM01146", "Cp1146");
        checkMappedName("IBM01147", "Cp1147");
        checkMappedName("IBM01148", "Cp1148");
        checkMappedName("IBM01149", "Cp1149");
        checkMappedName("IBM1381", "Cp1381");
        checkMappedName("IBM1383", "Cp1383");
        checkMappedName("IBM273", "Cp273");
        checkMappedName("IBM277", "Cp277");
        checkMappedName("IBM278", "Cp278");
        checkMappedName("IBM280", "Cp280");
        checkMappedName("IBM284", "Cp284");
        checkMappedName("IBM285", "Cp285");
        checkMappedName("IBM297", "Cp297");
        checkMappedName("IBM33722", "Cp33722");
        checkMappedName("IBM420", "Cp420");
        checkMappedName("IBM424", "Cp424");
        checkMappedName("IBM437", "Cp437");
        checkMappedName("IBM500", "Cp500");
        checkMappedName("IBM737", "Cp737");
        checkMappedName("IBM775", "Cp775");
        checkMappedName("IBM838", "Cp838");
        checkMappedName("IBM850", "Cp850");
        checkMappedName("IBM852", "Cp852");
        checkMappedName("IBM855", "Cp855");
        checkMappedName("IBM856", "Cp856");
        checkMappedName("IBM857", "Cp857");
        checkMappedName("IBM00858", "Cp858");
        checkMappedName("IBM833", "Cp833");
        checkMappedName("IBM860", "Cp860");
        checkMappedName("IBM861", "Cp861");
        checkMappedName("IBM862", "Cp862");
        checkMappedName("IBM863", "Cp863");
        checkMappedName("IBM864", "Cp864");
        checkMappedName("IBM865", "Cp865");
        checkMappedName("IBM866", "Cp866");
        checkMappedName("IBM868", "Cp868");
        checkMappedName("IBM869", "Cp869");
        checkMappedName("IBM870", "Cp870");
        checkMappedName("IBM871", "Cp871");
        checkMappedName("IBM874", "Cp874");
        checkMappedName("IBM875", "Cp875");
        checkMappedName("IBM918", "Cp918");
        checkMappedName("IBM921", "Cp921");
        checkMappedName("IBM922", "Cp922");
        checkMappedName("x-IBM930", "Cp930");
        checkMappedName("IBM933", "Cp933");
        checkMappedName("x-IBM935", "Cp935");
        checkMappedName("x-IBM937", "Cp937");
        checkMappedName("IBM939", "Cp939");
        checkMappedName("x-IBM942", "Cp942");
        checkMappedName("x-IBM942C", "Cp942C");
        checkMappedName("x-IBM943", "Cp943");
        checkMappedName("x-IBM943C", "Cp943C");
        checkMappedName("x-IBM948", "Cp948");
        checkMappedName("IBM949", "Cp949");
        checkMappedName("x-IBM949C", "Cp949C");
        checkMappedName("x-IBM950", "Cp950");
        checkMappedName("IBM964", "Cp964");
        checkMappedName("IBM970", "Cp970");

        checkHistoricalName("MacArabic");
        checkHistoricalName("MacCentralEurope");
        checkHistoricalName("MacCroatian");
        checkHistoricalName("MacCyrillic");
        checkHistoricalName("MacDingbat");
        checkHistoricalName("MacGreek");
        checkHistoricalName("MacHebrew");
        checkHistoricalName("MacIceland");
        checkHistoricalName("MacRoman");
        checkHistoricalName("MacRomania");
        checkHistoricalName("MacSymbol");
        checkHistoricalName("MacThai");
        checkHistoricalName("MacTurkish");
        checkHistoricalName("MacUkraine");

        checkMappedName("x-MacArabic", "MacArabic");
        checkMappedName("x-MacCentralEurope", "MacCentralEurope");
        checkMappedName("x-MacCroatian", "MacCroatian");
        checkMappedName("x-MacCyrillic", "MacCyrillic");
        checkMappedName("x-MacDingbat", "MacDingbat");
        checkMappedName("x-MacGreek", "MacGreek");
        checkMappedName("x-MacHebrew", "MacHebrew");
        checkMappedName("x-MacIceland", "MacIceland");
        checkMappedName("x-MacRoman", "MacRoman");
        checkMappedName("x-MacRomania", "MacRomania");
        checkMappedName("x-MacSymbol", "MacSymbol");
        checkMappedName("x-MacThai", "MacThai");
        checkMappedName("x-MacTurkish", "MacTurkish");
        checkMappedName("x-MacUkraine", "MacUkraine");

        if (failed != 0)
            throw new Exception("Test Failed: " + failed);
        else
            System.out.println("Test Passed!");
    }

    private static void checkHistoricalName(String name) throws Exception {
        checkMappedName(name, name);
    }

    private static void checkMappedName(String alias, String canonical)
        throws Exception {
        InputStreamReader reader = new InputStreamReader(System.in, alias);
        if (!reader.getEncoding().equals(canonical)) {
            System.out.println("Failed canonical names : mismatch for " + alias
                               + " - expected " + canonical
                               + ", got " + reader.getEncoding());
            failed++;
        }
    }
}