0N/A/*
2362N/A * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
0N/A * published by the Free Software Foundation.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A * or visit www.oracle.com if you need additional information or have any
2362N/A * questions.
0N/A */
0N/A
0N/A/*
0N/A * @test
0N/A * @bug 4625418
0N/A * @summary Tests XML <a href="http://download.java.net/jdk6/docs/technotes/guides/intl/encoding.doc.html">encoding</a>
0N/A * @author Sergey Malenkov
0N/A *
0N/A * @run main Test4625418 ASCII
0N/A * @run main Test4625418 Big5
0N/A * ?run main Test4625418 Big5-HKSCS
0N/A * ?run main Test4625418 Big5_HKSCS
0N/A * @run main Test4625418 Big5_Solaris
0N/A * ?run main Test4625418 Cp037
0N/A * @run main Test4625418 Cp1006
0N/A * ?run main Test4625418 Cp1025
0N/A * -run main Test4625418 Cp1026
0N/A * @run main Test4625418 Cp1046
0N/A * @run main Test4625418 Cp1047
0N/A * @run main Test4625418 Cp1097
0N/A * @run main Test4625418 Cp1098
0N/A * ?run main Test4625418 Cp1112
0N/A * ?run main Test4625418 Cp1122
0N/A * ?run main Test4625418 Cp1123
0N/A * @run main Test4625418 Cp1124
0N/A * ?run main Test4625418 Cp1140
0N/A * ?run main Test4625418 Cp1141
0N/A * ?run main Test4625418 Cp1142
0N/A * ?run main Test4625418 Cp1143
0N/A * ?run main Test4625418 Cp1144
0N/A * ?run main Test4625418 Cp1145
0N/A * ?run main Test4625418 Cp1146
0N/A * ?run main Test4625418 Cp1147
0N/A * ?run main Test4625418 Cp1148
0N/A * ?run main Test4625418 Cp1149
0N/A * @run main Test4625418 Cp1250
0N/A * @run main Test4625418 Cp1251
0N/A * @run main Test4625418 Cp1252
0N/A * @run main Test4625418 Cp1253
0N/A * @run main Test4625418 Cp1254
0N/A * @run main Test4625418 Cp1255
0N/A * @run main Test4625418 Cp1256
0N/A * @run main Test4625418 Cp1257
0N/A * @run main Test4625418 Cp1258
0N/A * ?run main Test4625418 Cp1381
0N/A * ?run main Test4625418 Cp1383
0N/A * ?run main Test4625418 Cp273
0N/A * ?run main Test4625418 Cp277
0N/A * ?run main Test4625418 Cp278
0N/A * ?run main Test4625418 Cp280
0N/A * ?run main Test4625418 Cp284
0N/A * ?run main Test4625418 Cp285
0N/A * ?run main Test4625418 Cp297
0N/A * ?run main Test4625418 Cp33722
0N/A * ?run main Test4625418 Cp420
0N/A * ?run main Test4625418 Cp424
0N/A * @run main Test4625418 Cp437
0N/A * ?run main Test4625418 Cp500
0N/A * ?run main Test4625418 Cp50220
0N/A * ?run main Test4625418 Cp50221
0N/A * @run main Test4625418 Cp737
0N/A * @run main Test4625418 Cp775
0N/A * -run main Test4625418 Cp834
0N/A * ?run main Test4625418 Cp838
0N/A * @run main Test4625418 Cp850
0N/A * @run main Test4625418 Cp852
0N/A * @run main Test4625418 Cp855
0N/A * @run main Test4625418 Cp856
0N/A * @run main Test4625418 Cp857
0N/A * @run main Test4625418 Cp858
0N/A * @run main Test4625418 Cp860
0N/A * @run main Test4625418 Cp861
0N/A * @run main Test4625418 Cp862
0N/A * @run main Test4625418 Cp863
0N/A * @run main Test4625418 Cp864
0N/A * @run main Test4625418 Cp865
0N/A * @run main Test4625418 Cp866
0N/A * @run main Test4625418 Cp868
0N/A * @run main Test4625418 Cp869
0N/A * ?run main Test4625418 Cp870
0N/A * ?run main Test4625418 Cp871
0N/A * @run main Test4625418 Cp874
0N/A * ?run main Test4625418 Cp875
0N/A * ?run main Test4625418 Cp918
0N/A * @run main Test4625418 Cp921
0N/A * @run main Test4625418 Cp922
0N/A * -run main Test4625418 Cp930
0N/A * @run main Test4625418 Cp933
0N/A * ?run main Test4625418 Cp935
0N/A * ?run main Test4625418 Cp937
0N/A * ?run main Test4625418 Cp939
0N/A * ?run main Test4625418 Cp942
0N/A * ?run main Test4625418 Cp942C
0N/A * @run main Test4625418 Cp943
0N/A * ?run main Test4625418 Cp943C
0N/A * @run main Test4625418 Cp948
0N/A * @run main Test4625418 Cp949
0N/A * ?run main Test4625418 Cp949C
0N/A * @run main Test4625418 Cp950
0N/A * @run main Test4625418 Cp964
0N/A * ?run main Test4625418 Cp970
0N/A * ?run main Test4625418 EUC-JP
0N/A * @run main Test4625418 EUC-KR
0N/A * @run main Test4625418 EUC_CN
0N/A * ?run main Test4625418 EUC_JP
0N/A * ?run main Test4625418 EUC_JP_LINUX
0N/A * ?run main Test4625418 EUC_JP_Solaris
0N/A * @run main Test4625418 EUC_KR
0N/A * ?run main Test4625418 EUC_TW
0N/A * @run main Test4625418 GB18030
0N/A * @run main Test4625418 GB2312
0N/A * @run main Test4625418 GBK
0N/A * ?run main Test4625418 IBM-Thai
0N/A * @run main Test4625418 IBM00858
0N/A * ?run main Test4625418 IBM01140
0N/A * ?run main Test4625418 IBM01141
0N/A * ?run main Test4625418 IBM01142
0N/A * ?run main Test4625418 IBM01143
0N/A * ?run main Test4625418 IBM01144
0N/A * ?run main Test4625418 IBM01145
0N/A * ?run main Test4625418 IBM01146
0N/A * ?run main Test4625418 IBM01147
0N/A * ?run main Test4625418 IBM01148
0N/A * ?run main Test4625418 IBM01149
0N/A * ?run main Test4625418 IBM037
0N/A * -run main Test4625418 IBM1026
0N/A * @run main Test4625418 IBM1047
0N/A * ?run main Test4625418 IBM273
0N/A * ?run main Test4625418 IBM277
0N/A * ?run main Test4625418 IBM278
0N/A * ?run main Test4625418 IBM280
0N/A * ?run main Test4625418 IBM284
0N/A * ?run main Test4625418 IBM285
0N/A * ?run main Test4625418 IBM297
0N/A * ?run main Test4625418 IBM420
0N/A * ?run main Test4625418 IBM424
0N/A * @run main Test4625418 IBM437
0N/A * ?run main Test4625418 IBM500
0N/A * @run main Test4625418 IBM775
0N/A * @run main Test4625418 IBM850
0N/A * @run main Test4625418 IBM852
0N/A * @run main Test4625418 IBM855
0N/A * @run main Test4625418 IBM857
0N/A * @run main Test4625418 IBM860
0N/A * @run main Test4625418 IBM861
0N/A * @run main Test4625418 IBM862
0N/A * @run main Test4625418 IBM863
0N/A * @run main Test4625418 IBM864
0N/A * @run main Test4625418 IBM865
0N/A * @run main Test4625418 IBM866
0N/A * @run main Test4625418 IBM868
0N/A * @run main Test4625418 IBM869
0N/A * ?run main Test4625418 IBM870
0N/A * ?run main Test4625418 IBM871
0N/A * ?run main Test4625418 IBM918
0N/A * ?run main Test4625418 ISCII91
0N/A * -run main Test4625418 ISO-2022-CN
0N/A * @run main Test4625418 ISO-2022-JP
0N/A * @run main Test4625418 ISO-2022-KR
0N/A * @run main Test4625418 ISO-8859-1
0N/A * @run main Test4625418 ISO-8859-13
0N/A * @run main Test4625418 ISO-8859-15
0N/A * @run main Test4625418 ISO-8859-2
0N/A * @run main Test4625418 ISO-8859-3
0N/A * @run main Test4625418 ISO-8859-4
0N/A * @run main Test4625418 ISO-8859-5
0N/A * @run main Test4625418 ISO-8859-6
0N/A * @run main Test4625418 ISO-8859-7
0N/A * @run main Test4625418 ISO-8859-8
0N/A * @run main Test4625418 ISO-8859-9
0N/A * -run main Test4625418 ISO2022CN
0N/A * @run main Test4625418 ISO2022JP
0N/A * @run main Test4625418 ISO2022KR
0N/A * -run main Test4625418 ISO2022_CN_CNS
0N/A * -run main Test4625418 ISO2022_CN_GB
0N/A * @run main Test4625418 ISO8859_1
0N/A * @run main Test4625418 ISO8859_13
0N/A * @run main Test4625418 ISO8859_15
0N/A * @run main Test4625418 ISO8859_2
0N/A * @run main Test4625418 ISO8859_3
0N/A * @run main Test4625418 ISO8859_4
0N/A * @run main Test4625418 ISO8859_5
0N/A * @run main Test4625418 ISO8859_6
0N/A * @run main Test4625418 ISO8859_7
0N/A * @run main Test4625418 ISO8859_8
0N/A * @run main Test4625418 ISO8859_9
0N/A * -run main Test4625418 JISAutoDetect
0N/A * ?run main Test4625418 JIS_X0201
0N/A * -run main Test4625418 JIS_X0212-1990
0N/A * @run main Test4625418 KOI8-R
0N/A * @run main Test4625418 KOI8-U
0N/A * @run main Test4625418 KOI8_R
0N/A * @run main Test4625418 KOI8_U
0N/A * @run main Test4625418 MS874
0N/A * ?run main Test4625418 MS932
0N/A * ?run main Test4625418 MS936
0N/A * @run main Test4625418 MS949
0N/A * @run main Test4625418 MS950
0N/A * ?run main Test4625418 MS950_HKSCS
0N/A * @run main Test4625418 MacArabic
0N/A * @run main Test4625418 MacCentralEurope
0N/A * @run main Test4625418 MacCroatian
0N/A * @run main Test4625418 MacCyrillic
0N/A * -run main Test4625418 MacDingbat
0N/A * @run main Test4625418 MacGreek
0N/A * @run main Test4625418 MacHebrew
0N/A * @run main Test4625418 MacIceland
0N/A * @run main Test4625418 MacRoman
0N/A * @run main Test4625418 MacRomania
0N/A * -run main Test4625418 MacSymbol
0N/A * @run main Test4625418 MacThai
0N/A * @run main Test4625418 MacTurkish
0N/A * @run main Test4625418 MacUkraine
0N/A * ?run main Test4625418 PCK
0N/A * ?run main Test4625418 SJIS
0N/A * ?run main Test4625418 Shift_JIS
0N/A * @run main Test4625418 TIS-620
0N/A * @run main Test4625418 TIS620
0N/A * @run main Test4625418 US-ASCII
0N/A * @run main Test4625418 UTF-16
0N/A * @run main Test4625418 UTF-16BE
0N/A * @run main Test4625418 UTF-16LE
0N/A * @run main Test4625418 UTF-32
0N/A * @run main Test4625418 UTF-32BE
0N/A * @run main Test4625418 UTF-32LE
0N/A * @run main Test4625418 UTF-8
0N/A * @run main Test4625418 UTF8
0N/A * @run main Test4625418 UTF_32
0N/A * @run main Test4625418 UTF_32BE
0N/A * -run main Test4625418 UTF_32BE_BOM
0N/A * @run main Test4625418 UTF_32LE
0N/A * -run main Test4625418 UTF_32LE_BOM
0N/A * @run main Test4625418 UnicodeBig
0N/A * @run main Test4625418 UnicodeBigUnmarked
0N/A * @run main Test4625418 UnicodeLittle
0N/A * @run main Test4625418 UnicodeLittleUnmarked
0N/A * @run main Test4625418 windows-1250
0N/A * @run main Test4625418 windows-1251
0N/A * @run main Test4625418 windows-1252
0N/A * @run main Test4625418 windows-1253
0N/A * @run main Test4625418 windows-1254
0N/A * @run main Test4625418 windows-1255
0N/A * @run main Test4625418 windows-1256
0N/A * @run main Test4625418 windows-1257
0N/A * @run main Test4625418 windows-1258
0N/A * ?run main Test4625418 windows-31j
0N/A * -run main Test4625418 x-Big5_Solaris
0N/A * ?run main Test4625418 x-EUC-TW
0N/A * @run main Test4625418 x-IBM1006
0N/A * ?run main Test4625418 x-IBM1025
0N/A * @run main Test4625418 x-IBM1046
0N/A * @run main Test4625418 x-IBM1097
0N/A * @run main Test4625418 x-IBM1098
0N/A * ?run main Test4625418 x-IBM1112
0N/A * ?run main Test4625418 x-IBM1122
0N/A * ?run main Test4625418 x-IBM1123
0N/A * @run main Test4625418 x-IBM1124
0N/A * ?run main Test4625418 x-IBM1381
0N/A * ?run main Test4625418 x-IBM1383
0N/A * ?run main Test4625418 x-IBM33722
0N/A * @run main Test4625418 x-IBM737
0N/A * -run main Test4625418 x-IBM834
0N/A * @run main Test4625418 x-IBM856
0N/A * @run main Test4625418 x-IBM874
0N/A * ?run main Test4625418 x-IBM875
0N/A * @run main Test4625418 x-IBM921
0N/A * @run main Test4625418 x-IBM922
0N/A * -run main Test4625418 x-IBM930
0N/A * @run main Test4625418 x-IBM933
0N/A * ?run main Test4625418 x-IBM935
0N/A * ?run main Test4625418 x-IBM937
0N/A * ?run main Test4625418 x-IBM939
0N/A * ?run main Test4625418 x-IBM942
0N/A * ?run main Test4625418 x-IBM942C
0N/A * @run main Test4625418 x-IBM943
0N/A * ?run main Test4625418 x-IBM943C
0N/A * @run main Test4625418 x-IBM948
0N/A * @run main Test4625418 x-IBM949
0N/A * ?run main Test4625418 x-IBM949C
0N/A * @run main Test4625418 x-IBM950
0N/A * @run main Test4625418 x-IBM964
0N/A * ?run main Test4625418 x-IBM970
0N/A * ?run main Test4625418 x-ISCII91
0N/A * -run main Test4625418 x-ISO2022-CN-CNS
0N/A * -run main Test4625418 x-ISO2022-CN-GB
0N/A * -run main Test4625418 x-JIS0208
0N/A * -run main Test4625418 x-JISAutoDetect
0N/A * @run main Test4625418 x-Johab
0N/A * ?run main Test4625418 x-MS950-HKSCS
0N/A * @run main Test4625418 x-MacArabic
0N/A * @run main Test4625418 x-MacCentralEurope
0N/A * @run main Test4625418 x-MacCroatian
0N/A * @run main Test4625418 x-MacCyrillic
0N/A * -run main Test4625418 x-MacDingbat
0N/A * @run main Test4625418 x-MacGreek
0N/A * @run main Test4625418 x-MacHebrew
0N/A * @run main Test4625418 x-MacIceland
0N/A * @run main Test4625418 x-MacRoman
0N/A * @run main Test4625418 x-MacRomania
0N/A * -run main Test4625418 x-MacSymbol
0N/A * @run main Test4625418 x-MacThai
0N/A * @run main Test4625418 x-MacTurkish
0N/A * @run main Test4625418 x-MacUkraine
0N/A * ?run main Test4625418 x-PCK
0N/A * @run main Test4625418 x-UTF-16LE-BOM
0N/A * -run main Test4625418 x-UTF-32BE-BOM
0N/A * -run main Test4625418 x-UTF-32LE-BOM
0N/A * ?run main Test4625418 x-euc-jp-linux
0N/A * ?run main Test4625418 x-eucJP-Open
0N/A * @run main Test4625418 x-iso-8859-11
0N/A * @run main Test4625418 x-mswin-936
0N/A * ?run main Test4625418 x-windows-50220
0N/A * ?run main Test4625418 x-windows-50221
0N/A * @run main Test4625418 x-windows-874
0N/A * @run main Test4625418 x-windows-949
0N/A * @run main Test4625418 x-windows-950
0N/A * ?run main Test4625418 x-windows-iso2022jp
0N/A */
0N/A
0N/Aimport java.beans.ExceptionListener;
0N/Aimport java.beans.XMLDecoder;
0N/Aimport java.beans.XMLEncoder;
0N/Aimport java.io.File;
0N/Aimport java.io.FileInputStream;
0N/Aimport java.io.FileNotFoundException;
0N/Aimport java.io.FileOutputStream;
0N/Aimport java.nio.charset.IllegalCharsetNameException;
0N/Aimport java.nio.charset.UnsupportedCharsetException;
0N/A
0N/Apublic final class Test4625418 implements ExceptionListener {
0N/A public static void main(String[] args) {
0N/A new Test4625418(args[0]).test(createString(0x10000));
0N/A System.out.println("Test passed: " + args[0]);
0N/A }
0N/A
0N/A private static String createString(int length) {
0N/A StringBuilder sb = new StringBuilder(length);
0N/A while (0 < length--)
0N/A sb.append((char) length);
0N/A
0N/A return sb.toString();
0N/A }
0N/A
0N/A private final String encoding;
0N/A
0N/A private Test4625418(String encoding) {
0N/A this.encoding = encoding;
0N/A }
0N/A
0N/A private void test(String string) {
0N/A try {
0N/A File file = new File("4625418." + this.encoding + ".xml");
0N/A
0N/A FileOutputStream output = new FileOutputStream(file);
0N/A XMLEncoder encoder = new XMLEncoder(output, this.encoding, true, 0);
0N/A encoder.setExceptionListener(this);
0N/A encoder.writeObject(string);
0N/A encoder.close();
0N/A
0N/A FileInputStream input = new FileInputStream(file);
0N/A XMLDecoder decoder = new XMLDecoder(input);
0N/A decoder.setExceptionListener(this);
0N/A Object object = decoder.readObject();
0N/A decoder.close();
0N/A
0N/A if (!string.equals(object))
0N/A throw new Error(this.encoding + " - can't read properly");
0N/A
0N/A file.delete();
0N/A }
0N/A catch (FileNotFoundException exception) {
0N/A throw new Error(this.encoding + " - file not found", exception);
0N/A }
0N/A catch (IllegalCharsetNameException exception) {
0N/A throw new Error(this.encoding + " - illegal charset name", exception);
0N/A }
0N/A catch (UnsupportedCharsetException exception) {
0N/A throw new Error(this.encoding + " - unsupported charset", exception);
0N/A }
0N/A catch (UnsupportedOperationException exception) {
0N/A throw new Error(this.encoding + " - unsupported encoder", exception);
0N/A }
0N/A }
0N/A
0N/A public void exceptionThrown(Exception exception) {
0N/A throw new Error(this.encoding + " - internal", exception);
0N/A }
0N/A}