Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/test/java/nio/charset/Charset/Contains.java
38821 views
1
/*
2
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
/* @test
25
* @summary Unit test for charset containment
26
* @bug 6798572
27
*/
28
29
import java.nio.charset.*;
30
31
32
public class Contains {
33
34
static void ck(Charset cs1, Charset cs2, boolean cont) throws Exception {
35
if ((cs1.contains(cs2)) != cont)
36
throw new Exception("Wrong answer: "
37
+ cs1.name() + " contains " + cs2.name());
38
System.err.println(cs1.name()
39
+ (cont ? " contains " : " does not contain ")
40
+ cs2.name());
41
}
42
43
public static void main(String[] args) throws Exception {
44
45
Charset us_ascii = Charset.forName("US-ASCII");
46
Charset iso_8859_1 = Charset.forName("ISO-8859-1");
47
Charset iso_8859_15 = Charset.forName("ISO-8859-15");
48
Charset utf_8 = Charset.forName("UTF-8");
49
Charset utf_16be = Charset.forName("UTF-16BE");
50
Charset cp1252 = Charset.forName("CP1252");
51
52
ck(us_ascii, us_ascii, true);
53
ck(us_ascii, iso_8859_1, false);
54
ck(us_ascii, iso_8859_15, false);
55
ck(us_ascii, utf_8, false);
56
ck(us_ascii, utf_16be, false);
57
ck(us_ascii, cp1252, false);
58
59
ck(iso_8859_1, us_ascii, true);
60
ck(iso_8859_1, iso_8859_1, true);
61
ck(iso_8859_1, iso_8859_15, false);
62
ck(iso_8859_1, utf_8, false);
63
ck(iso_8859_1, utf_16be, false);
64
ck(iso_8859_1, cp1252, false);
65
66
ck(iso_8859_15, us_ascii, true);
67
ck(iso_8859_15, iso_8859_1, false);
68
ck(iso_8859_15, iso_8859_15, true);
69
ck(iso_8859_15, utf_8, false);
70
ck(iso_8859_15, utf_16be, false);
71
ck(iso_8859_15, cp1252, false);
72
73
ck(utf_8, us_ascii, true);
74
ck(utf_8, iso_8859_1, true);
75
ck(utf_8, iso_8859_15, true);
76
ck(utf_8, utf_8, true);
77
ck(utf_8, utf_16be, true);
78
ck(utf_8, cp1252, true);
79
80
ck(utf_16be, us_ascii, true);
81
ck(utf_16be, iso_8859_1, true);
82
ck(utf_16be, iso_8859_15, true);
83
ck(utf_16be, utf_8, true);
84
ck(utf_16be, utf_16be, true);
85
ck(utf_16be, cp1252, true);
86
87
ck(cp1252, us_ascii, true);
88
ck(cp1252, iso_8859_1, false);
89
ck(cp1252, iso_8859_15, false);
90
ck(cp1252, utf_8, false);
91
ck(cp1252, utf_16be, false);
92
ck(cp1252, cp1252, true);
93
94
checkUTF();
95
}
96
97
static void checkUTF() throws Exception {
98
for (String utfName : utfNames)
99
for (String csName : charsetNames)
100
ck(Charset.forName(utfName),
101
Charset.forName(csName),
102
true);
103
}
104
105
static String[] utfNames = {"utf-16",
106
"utf-8",
107
"utf-16le",
108
"utf-16be",
109
"x-utf-16le-bom"};
110
111
static String[] charsetNames = {
112
"US-ASCII",
113
"UTF-8",
114
"UTF-16",
115
"UTF-16BE",
116
"UTF-16LE",
117
"x-UTF-16LE-BOM",
118
"GBK",
119
"GB18030",
120
"ISO-8859-1",
121
"ISO-8859-15",
122
"ISO-8859-2",
123
"ISO-8859-3",
124
"ISO-8859-4",
125
"ISO-8859-5",
126
"ISO-8859-6",
127
"ISO-8859-7",
128
"ISO-8859-8",
129
"ISO-8859-9",
130
"ISO-8859-13",
131
"JIS_X0201",
132
"x-JIS0208",
133
"JIS_X0212-1990",
134
"GB2312",
135
"EUC-KR",
136
"x-EUC-TW",
137
"EUC-JP",
138
"x-euc-jp-linux",
139
"KOI8-R",
140
"TIS-620",
141
"x-ISCII91",
142
"windows-1251",
143
"windows-1252",
144
"windows-1253",
145
"windows-1254",
146
"windows-1255",
147
"windows-1256",
148
"windows-1257",
149
"windows-1258",
150
"windows-932",
151
"x-mswin-936",
152
"x-windows-949",
153
"x-windows-950",
154
"windows-31j",
155
"Big5",
156
"Big5-HKSCS",
157
"x-MS950-HKSCS",
158
"ISO-2022-JP",
159
"ISO-2022-KR",
160
"x-ISO-2022-CN-CNS",
161
"x-ISO-2022-CN-GB",
162
"Big5-HKSCS",
163
"x-Johab",
164
"Shift_JIS"
165
};
166
}
167
168