Path: blob/master/test/jdk/sun/nio/cs/CheckHistoricalNames.java
41149 views
/*1* Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223/* @test24* @bug 4513767 4961027 6217210 824254125* @summary Checks canonical names match between old and (NIO) core charsets26* @modules jdk.charsets27*/28import java.io.InputStreamReader;29import java.io.IOException;30import java.nio.charset.Charset;31import java.nio.charset.UnsupportedCharsetException;3233public class CheckHistoricalNames {34static int failed = 0;35public static void main (String[] args) throws Exception {36checkHistoricalName("ASCII");37checkHistoricalName("Cp1252");38checkHistoricalName("ISO8859_1");39checkHistoricalName("UnicodeBigUnmarked");40checkHistoricalName("UnicodeLittle");41checkHistoricalName("UnicodeLittleUnmarked");42checkHistoricalName("UTF8");43checkHistoricalName("UTF-16");4445checkMappedName("UnicodeBig", "UTF-16");46checkMappedName("US-ASCII", "ASCII");47checkMappedName("ISO-8859-1", "ISO8859_1");48checkMappedName("UTF-8", "UTF8");49checkMappedName("UTF-16BE", "UnicodeBigUnmarked");50checkMappedName("UTF-16LE", "UnicodeLittleUnmarked");5152checkHistoricalName("ISO8859_2");53checkHistoricalName("ISO8859_4");54checkHistoricalName("ISO8859_5");55checkHistoricalName("ISO8859_7");56checkHistoricalName("ISO8859_9");57checkHistoricalName("ISO8859_13");58checkHistoricalName("KOI8_R");59checkHistoricalName("Cp1250");60checkHistoricalName("Cp1251");61checkHistoricalName("Cp1253");62checkHistoricalName("Cp1254");63checkHistoricalName("Cp1257");6465checkMappedName("ISO-8859-2", "ISO8859_2");66checkMappedName("ISO-8859-4", "ISO8859_4");67checkMappedName("ISO-8859-5", "ISO8859_5");68checkMappedName("ISO-8859-7", "ISO8859_7");69checkMappedName("ISO-8859-9", "ISO8859_9");70checkMappedName("ISO-8859-13", "ISO8859_13");71checkMappedName("KOI8-R", "KOI8_R");72checkMappedName("windows-1250", "Cp1250");73checkMappedName("windows-1251","Cp1251");74checkMappedName("windows-1253", "Cp1253");75checkMappedName("windows-1254", "Cp1254");76checkMappedName("windows-1257", "Cp1257");7778checkHistoricalName("EUC_CN");79checkHistoricalName("EUC_JP");80checkHistoricalName("EUC_JP_LINUX");81checkHistoricalName("EUC_KR");82checkHistoricalName("EUC_TW");83checkHistoricalName("ISO2022CN");84checkHistoricalName("ISO2022JP");85checkHistoricalName("ISO2022KR");86checkHistoricalName("ISO8859_3");87checkHistoricalName("ISO8859_6");88checkHistoricalName("ISO8859_8");89checkHistoricalName("Cp1255");90checkHistoricalName("Cp1256");91checkHistoricalName("Cp1258");92checkHistoricalName("MS936");93checkHistoricalName("MS949");94checkHistoricalName("MS950");95checkHistoricalName("TIS620");9697checkMappedName("EUC-CN", "EUC_CN");98checkMappedName("EUC-JP", "EUC_JP");99checkMappedName("EUC-JP-LINUX", "EUC_JP_LINUX");100checkMappedName("EUC-TW", "EUC_TW");101checkMappedName("EUC-KR", "EUC_KR");102checkMappedName("ISO-2022-CN", "ISO2022CN");103checkMappedName("ISO-2022-JP", "ISO2022JP");104checkMappedName("ISO-2022-KR", "ISO2022KR");105checkMappedName("ISO-8859-3", "ISO8859_3");106checkMappedName("ISO-8859-6", "ISO8859_6");107checkMappedName("ISO-8859-8", "ISO8859_8");108checkMappedName("windows-1255", "Cp1255");109checkMappedName("windows-1256", "Cp1256");110checkMappedName("windows-1258", "Cp1258");111checkMappedName("windows-936", "GBK");112checkMappedName("windows-949", "MS949");113checkMappedName("windows-950", "MS950");114checkMappedName("x-MS950-HKSCS", "MS950_HKSCS");115checkMappedName("x-PCK", "PCK");116checkMappedName("Shift_JIS", "SJIS");117checkMappedName("x-JISAutoDetect", "JISAutoDetect");118checkMappedName("TIS-620", "TIS620");119checkMappedName("x-Big5-Solaris", "Big5_Solaris");120121checkHistoricalName("Cp037");122checkHistoricalName("Cp1006");123checkHistoricalName("Cp1025");124checkHistoricalName("Cp1026");125checkHistoricalName("Cp1046");126checkHistoricalName("Cp1047");127checkHistoricalName("Cp1097");128checkHistoricalName("Cp1098");129checkHistoricalName("Cp1112");130checkHistoricalName("Cp1122");131checkHistoricalName("Cp1123");132checkHistoricalName("Cp1124");133checkHistoricalName("Cp1140");134checkHistoricalName("Cp1141");135checkHistoricalName("Cp1142");136checkHistoricalName("Cp1143");137checkHistoricalName("Cp1144");138checkHistoricalName("Cp1145");139checkHistoricalName("Cp1146");140checkHistoricalName("Cp1147");141checkHistoricalName("Cp1148");142checkHistoricalName("Cp1149");143checkHistoricalName("Cp1381");144checkHistoricalName("Cp1383");145checkHistoricalName("Cp273");146checkHistoricalName("Cp277");147checkHistoricalName("Cp278");148checkHistoricalName("Cp280");149checkHistoricalName("Cp284");150checkHistoricalName("Cp285");151checkHistoricalName("Cp297");152checkHistoricalName("Cp33722");153checkHistoricalName("Cp420");154checkHistoricalName("Cp424");155checkHistoricalName("Cp437");156checkHistoricalName("Cp500");157checkHistoricalName("Cp737");158checkHistoricalName("Cp775");159checkHistoricalName("Cp833");160checkHistoricalName("Cp838");161checkHistoricalName("Cp850");162checkHistoricalName("Cp852");163checkHistoricalName("Cp855");164checkHistoricalName("Cp856");165checkHistoricalName("Cp857");166checkHistoricalName("Cp858");167checkHistoricalName("Cp860");168checkHistoricalName("Cp861");169checkHistoricalName("Cp862");170checkHistoricalName("Cp863");171checkHistoricalName("Cp864");172checkHistoricalName("Cp865");173checkHistoricalName("Cp866");174checkHistoricalName("Cp868");175checkHistoricalName("Cp869");176checkHistoricalName("Cp870");177checkHistoricalName("Cp871");178checkHistoricalName("Cp874");179checkHistoricalName("Cp875");180checkHistoricalName("Cp918");181checkHistoricalName("Cp921");182checkHistoricalName("Cp922");183checkHistoricalName("Cp933");184checkHistoricalName("Cp939");185checkHistoricalName("Cp949");186checkHistoricalName("Cp964");187checkHistoricalName("Cp970");188189checkMappedName("IBM037", "Cp037");190checkMappedName("IBM1006", "Cp1006");191checkMappedName("IBM1025", "Cp1025");192checkMappedName("IBM1026", "Cp1026");193checkMappedName("x-IBM1046", "Cp1046");194checkMappedName("IBM1047", "Cp1047");195checkMappedName("IBM1097", "Cp1097");196checkMappedName("IBM1098", "Cp1098");197checkMappedName("IBM1112", "Cp1112");198checkMappedName("IBM1122", "Cp1122");199checkMappedName("IBM1123", "Cp1123");200checkMappedName("IBM1124", "Cp1124");201checkMappedName("IBM1129", "Cp1129");202checkMappedName("IBM1166", "Cp1166");203checkMappedName("IBM01140", "Cp1140");204checkMappedName("IBM01141", "Cp1141");205checkMappedName("IBM01142", "Cp1142");206checkMappedName("IBM01143", "Cp1143");207checkMappedName("IBM01144", "Cp1144");208checkMappedName("IBM01145", "Cp1145");209checkMappedName("IBM01146", "Cp1146");210checkMappedName("IBM01147", "Cp1147");211checkMappedName("IBM01148", "Cp1148");212checkMappedName("IBM01149", "Cp1149");213checkMappedName("IBM1381", "Cp1381");214checkMappedName("IBM1383", "Cp1383");215checkMappedName("IBM273", "Cp273");216checkMappedName("IBM277", "Cp277");217checkMappedName("IBM278", "Cp278");218checkMappedName("IBM280", "Cp280");219checkMappedName("IBM284", "Cp284");220checkMappedName("IBM285", "Cp285");221checkMappedName("IBM297", "Cp297");222checkMappedName("IBM33722", "Cp33722");223checkMappedName("IBM420", "Cp420");224checkMappedName("IBM424", "Cp424");225checkMappedName("IBM437", "Cp437");226checkMappedName("IBM500", "Cp500");227checkMappedName("IBM737", "Cp737");228checkMappedName("IBM775", "Cp775");229checkMappedName("IBM838", "Cp838");230checkMappedName("IBM850", "Cp850");231checkMappedName("IBM852", "Cp852");232checkMappedName("IBM855", "Cp855");233checkMappedName("IBM856", "Cp856");234checkMappedName("IBM857", "Cp857");235checkMappedName("IBM00858", "Cp858");236checkMappedName("IBM833", "Cp833");237checkMappedName("IBM860", "Cp860");238checkMappedName("IBM861", "Cp861");239checkMappedName("IBM862", "Cp862");240checkMappedName("IBM863", "Cp863");241checkMappedName("IBM864", "Cp864");242checkMappedName("IBM865", "Cp865");243checkMappedName("IBM866", "Cp866");244checkMappedName("IBM868", "Cp868");245checkMappedName("IBM869", "Cp869");246checkMappedName("IBM870", "Cp870");247checkMappedName("IBM871", "Cp871");248checkMappedName("IBM874", "Cp874");249checkMappedName("IBM875", "Cp875");250checkMappedName("IBM918", "Cp918");251checkMappedName("IBM921", "Cp921");252checkMappedName("IBM922", "Cp922");253checkMappedName("x-IBM930", "Cp930");254checkMappedName("IBM933", "Cp933");255checkMappedName("x-IBM935", "Cp935");256checkMappedName("x-IBM937", "Cp937");257checkMappedName("IBM939", "Cp939");258checkMappedName("x-IBM942", "Cp942");259checkMappedName("x-IBM942C", "Cp942C");260checkMappedName("x-IBM943", "Cp943");261checkMappedName("x-IBM943C", "Cp943C");262checkMappedName("x-IBM948", "Cp948");263checkMappedName("IBM949", "Cp949");264checkMappedName("x-IBM949C", "Cp949C");265checkMappedName("x-IBM950", "Cp950");266checkMappedName("IBM964", "Cp964");267checkMappedName("IBM970", "Cp970");268269checkHistoricalName("MacArabic");270checkHistoricalName("MacCentralEurope");271checkHistoricalName("MacCroatian");272checkHistoricalName("MacCyrillic");273checkHistoricalName("MacDingbat");274checkHistoricalName("MacGreek");275checkHistoricalName("MacHebrew");276checkHistoricalName("MacIceland");277checkHistoricalName("MacRoman");278checkHistoricalName("MacRomania");279checkHistoricalName("MacSymbol");280checkHistoricalName("MacThai");281checkHistoricalName("MacTurkish");282checkHistoricalName("MacUkraine");283284checkMappedName("x-MacArabic", "MacArabic");285checkMappedName("x-MacCentralEurope", "MacCentralEurope");286checkMappedName("x-MacCroatian", "MacCroatian");287checkMappedName("x-MacCyrillic", "MacCyrillic");288checkMappedName("x-MacDingbat", "MacDingbat");289checkMappedName("x-MacGreek", "MacGreek");290checkMappedName("x-MacHebrew", "MacHebrew");291checkMappedName("x-MacIceland", "MacIceland");292checkMappedName("x-MacRoman", "MacRoman");293checkMappedName("x-MacRomania", "MacRomania");294checkMappedName("x-MacSymbol", "MacSymbol");295checkMappedName("x-MacThai", "MacThai");296checkMappedName("x-MacTurkish", "MacTurkish");297checkMappedName("x-MacUkraine", "MacUkraine");298checkCharsetAndHistoricalName();299300if (failed != 0)301throw new Exception("Test Failed: " + failed);302else303System.out.println("Test Passed!");304}305306private static void checkHistoricalName(String name) throws Exception {307checkMappedName(name, name);308}309310private static void checkMappedName(String alias, String canonical)311throws Exception {312InputStreamReader reader = new InputStreamReader(System.in, alias);313if (!reader.getEncoding().equals(canonical)) {314System.out.println("Failed canonical names : mismatch for " + alias315+ " - expected " + canonical316+ ", got " + reader.getEncoding());317failed++;318}319}320321private static void checkCharsetAndHistoricalName() {322for (Charset cs : Charset.availableCharsets().values()) {323InputStreamReader isr = new InputStreamReader(System.in, cs);324String encoding = isr.getEncoding();325try {326Charset csHist = Charset.forName(encoding);327if (!cs.equals(csHist)) {328System.out.println("Failed charset name"329+ " - expected " + cs.name()330+ ", got " + csHist.name());331failed++;332}333} catch (UnsupportedCharsetException uce) {334System.out.println("Failed : charset - " + cs.name()335+ ", missing alias entry - " + encoding);336failed++;337}338}339}340}341342343