Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/sun/net/idn/TestData.java
41149 views
1
/*
2
* Copyright (c) 2005, 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
/*
25
*******************************************************************************
26
* Copyright (C) 2003-2004, International Business Machines Corporation and *
27
* others. All Rights Reserved. *
28
*******************************************************************************
29
*/
30
import java.text.ParseException;
31
32
/**
33
* @author ram
34
*
35
* To change the template for this generated type comment go to
36
* Window>Preferences>Java>Code Generation>Code and Comments
37
*/
38
public class TestData {
39
public static final char[][] unicodeIn ={
40
{
41
0x0644, 0x064A, 0x0647, 0x0645, 0x0627, 0x0628, 0x062A, 0x0643, 0x0644,
42
0x0645, 0x0648, 0x0634, 0x0639, 0x0631, 0x0628, 0x064A, 0x061F
43
},
44
{
45
0x4ED6, 0x4EEC, 0x4E3A, 0x4EC0, 0x4E48, 0x4E0D, 0x8BF4, 0x4E2D, 0x6587,
46
47
},
48
{
49
0x0050, 0x0072, 0x006F, 0x010D, 0x0070, 0x0072, 0x006F, 0x0073, 0x0074,
50
0x011B, 0x006E, 0x0065, 0x006D, 0x006C, 0x0075, 0x0076, 0x00ED, 0x010D,
51
0x0065, 0x0073, 0x006B, 0x0079,
52
},
53
{
54
0x05DC, 0x05DE, 0x05D4, 0x05D4, 0x05DD, 0x05E4, 0x05E9, 0x05D5, 0x05D8,
55
0x05DC, 0x05D0, 0x05DE, 0x05D3, 0x05D1, 0x05E8, 0x05D9, 0x05DD, 0x05E2,
56
0x05D1, 0x05E8, 0x05D9, 0x05EA,
57
},
58
{
59
0x092F, 0x0939, 0x0932, 0x094B, 0x0917, 0x0939, 0x093F, 0x0928, 0x094D,
60
0x0926, 0x0940, 0x0915, 0x094D, 0x092F, 0x094B, 0x0902, 0x0928, 0x0939,
61
0x0940, 0x0902, 0x092C, 0x094B, 0x0932, 0x0938, 0x0915, 0x0924, 0x0947,
62
0x0939, 0x0948, 0x0902,
63
},
64
{
65
0x306A, 0x305C, 0x307F, 0x3093, 0x306A, 0x65E5, 0x672C, 0x8A9E, 0x3092,
66
0x8A71, 0x3057, 0x3066, 0x304F, 0x308C, 0x306A, 0x3044, 0x306E, 0x304B,
67
68
},
69
/*
70
{
71
0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
72
0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
73
0xC5BC, 0xB9C8, 0xB098, 0xC88B, 0xC744, 0xAE4C,
74
},
75
*/
76
{
77
0x043F, 0x043E, 0x0447, 0x0435, 0x043C, 0x0443, 0x0436, 0x0435, 0x043E,
78
0x043D, 0x0438, 0x043D, 0x0435, 0x0433, 0x043E, 0x0432, 0x043E, 0x0440,
79
0x044F, 0x0442, 0x043F, 0x043E, 0x0440, 0x0443, 0x0441, 0x0441, 0x043A,
80
0x0438,
81
},
82
{
83
0x0050, 0x006F, 0x0072, 0x0071, 0x0075, 0x00E9, 0x006E, 0x006F, 0x0070,
84
0x0075, 0x0065, 0x0064, 0x0065, 0x006E, 0x0073, 0x0069, 0x006D, 0x0070,
85
0x006C, 0x0065, 0x006D, 0x0065, 0x006E, 0x0074, 0x0065, 0x0068, 0x0061,
86
0x0062, 0x006C, 0x0061, 0x0072, 0x0065, 0x006E, 0x0045, 0x0073, 0x0070,
87
0x0061, 0x00F1, 0x006F, 0x006C,
88
},
89
{
90
0x4ED6, 0x5011, 0x7232, 0x4EC0, 0x9EBD, 0x4E0D, 0x8AAA, 0x4E2D, 0x6587,
91
92
},
93
{
94
0x0054, 0x1EA1, 0x0069, 0x0073, 0x0061, 0x006F, 0x0068, 0x1ECD, 0x006B,
95
0x0068, 0x00F4, 0x006E, 0x0067, 0x0074, 0x0068, 0x1EC3, 0x0063, 0x0068,
96
0x1EC9, 0x006E, 0x00F3, 0x0069, 0x0074, 0x0069, 0x1EBF, 0x006E, 0x0067,
97
0x0056, 0x0069, 0x1EC7, 0x0074,
98
},
99
{
100
0x0033, 0x5E74, 0x0042, 0x7D44, 0x91D1, 0x516B, 0x5148, 0x751F,
101
},
102
{
103
0x5B89, 0x5BA4, 0x5948, 0x7F8E, 0x6075, 0x002D, 0x0077, 0x0069, 0x0074,
104
0x0068, 0x002D, 0x0053, 0x0055, 0x0050, 0x0045, 0x0052, 0x002D, 0x004D,
105
0x004F, 0x004E, 0x004B, 0x0045, 0x0059, 0x0053,
106
},
107
{
108
0x0048, 0x0065, 0x006C, 0x006C, 0x006F, 0x002D, 0x0041, 0x006E, 0x006F,
109
0x0074, 0x0068, 0x0065, 0x0072, 0x002D, 0x0057, 0x0061, 0x0079, 0x002D,
110
0x305D, 0x308C, 0x305E, 0x308C, 0x306E, 0x5834, 0x6240,
111
},
112
{
113
0x3072, 0x3068, 0x3064, 0x5C4B, 0x6839, 0x306E, 0x4E0B, 0x0032,
114
},
115
{
116
0x004D, 0x0061, 0x006A, 0x0069, 0x3067, 0x004B, 0x006F, 0x0069, 0x3059,
117
0x308B, 0x0035, 0x79D2, 0x524D,
118
},
119
{
120
0x30D1, 0x30D5, 0x30A3, 0x30FC, 0x0064, 0x0065, 0x30EB, 0x30F3, 0x30D0,
121
122
},
123
{
124
0x305D, 0x306E, 0x30B9, 0x30D4, 0x30FC, 0x30C9, 0x3067,
125
},
126
// test non-BMP code points
127
{
128
0xD800, 0xDF00, 0xD800, 0xDF01, 0xD800, 0xDF02, 0xD800, 0xDF03, 0xD800, 0xDF05,
129
0xD800, 0xDF06, 0xD800, 0xDF07, 0xD800, 0xDF09, 0xD800, 0xDF0A, 0xD800, 0xDF0B,
130
131
},
132
{
133
0xD800, 0xDF0D, 0xD800, 0xDF0C, 0xD800, 0xDF1E, 0xD800, 0xDF0F, 0xD800, 0xDF16,
134
0xD800, 0xDF15, 0xD800, 0xDF14, 0xD800, 0xDF12, 0xD800, 0xDF10, 0xD800, 0xDF20,
135
0xD800, 0xDF21,
136
137
},
138
// Greek
139
{
140
0x03b5, 0x03bb, 0x03bb, 0x03b7, 0x03bd, 0x03b9, 0x03ba, 0x03ac
141
},
142
// Maltese
143
{
144
0x0062, 0x006f, 0x006e, 0x0121, 0x0075, 0x0073, 0x0061, 0x0127,
145
0x0127, 0x0061
146
},
147
// Russian
148
{
149
0x043f, 0x043e, 0x0447, 0x0435, 0x043c, 0x0443, 0x0436, 0x0435,
150
0x043e, 0x043d, 0x0438, 0x043d, 0x0435, 0x0433, 0x043e, 0x0432,
151
0x043e, 0x0440, 0x044f, 0x0442, 0x043f, 0x043e, 0x0440, 0x0443,
152
0x0441, 0x0441, 0x043a, 0x0438
153
},
154
155
};
156
157
public static final String[] asciiIn = {
158
"xn--egbpdaj6bu4bxfgehfvwxn",
159
"xn--ihqwcrb4cv8a8dqg056pqjye",
160
"xn--Proprostnemluvesky-uyb24dma41a",
161
"xn--4dbcagdahymbxekheh6e0a7fei0b",
162
"xn--i1baa7eci9glrd9b2ae1bj0hfcgg6iyaf8o0a1dig0cd",
163
"xn--n8jok5ay5dzabd5bym9f0cm5685rrjetr6pdxa",
164
/* "xn--989aomsvi5e83db1d2a355cv1e0vak1dwrv93d5xbh15a0dt30a5jpsd879ccm6fea98c",*/
165
"xn--b1abfaaepdrnnbgefbaDotcwatmq2g4l",
166
"xn--PorqunopuedensimplementehablarenEspaol-fmd56a",
167
"xn--ihqwctvzc91f659drss3x8bo0yb",
168
"xn--TisaohkhngthchnitingVit-kjcr8268qyxafd2f1b9g",
169
"xn--3B-ww4c5e180e575a65lsy2b",
170
"xn---with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n",
171
"xn--Hello-Another-Way--fc4qua05auwb3674vfr0b",
172
"xn--2-u9tlzr9756bt3uc0v",
173
"xn--MajiKoi5-783gue6qz075azm5e",
174
"xn--de-jg4avhby1noc0d",
175
"xn--d9juau41awczczp",
176
"XN--097CCDEKGHQJK",
177
"XN--db8CBHEJLGH4E0AL",
178
"xn--hxargifdar", // Greek
179
"xn--bonusaa-5bb1da", // Maltese
180
"xn--b1abfaaepdrnnbgefbadotcwatmq2g4l", // Russian (Cyrillic)
181
};
182
183
public static final String[] domainNames = {
184
"slip129-37-118-146.nc.us.ibm.net",
185
"saratoga.pe.utexas.edu",
186
"dial-120-45.ots.utexas.edu",
187
"woo-085.dorms.waller.net",
188
"hd30-049.hil.compuserve.com",
189
"pem203-31.pe.ttu.edu",
190
"56K-227.MaxTNT3.pdq.net",
191
"dial-36-2.ots.utexas.edu",
192
"slip129-37-23-152.ga.us.ibm.net",
193
"ts45ip119.cadvision.com",
194
"sdn-ts-004txaustP05.dialsprint.net",
195
"bar-tnt1s66.erols.com",
196
"101.st-louis-15.mo.dial-access.att.net",
197
"h92-245.Arco.COM",
198
"dial-13-2.ots.utexas.edu",
199
"net-redynet29.datamarkets.com.ar",
200
"ccs-shiva28.reacciun.net.ve",
201
"7.houston-11.tx.dial-access.att.net",
202
"ingw129-37-120-26.mo.us.ibm.net",
203
"dialup6.austintx.com",
204
"dns2.tpao.gov.tr",
205
"slip129-37-119-194.nc.us.ibm.net",
206
"cs7.dillons.co.uk.203.119.193.in-addr.arpa",
207
"swprd1.innovplace.saskatoon.sk.ca",
208
"bikini.bologna.maraut.it",
209
"node91.subnet159-198-79.baxter.com",
210
"cust19.max5.new-york.ny.ms.uu.net",
211
"balexander.slip.andrew.cmu.edu",
212
"pool029.max2.denver.co.dynip.alter.net",
213
"cust49.max9.new-york.ny.ms.uu.net",
214
"s61.abq-dialin2.hollyberry.com",
215
216
};
217
218
public static final String[] domainNames1Uni = {
219
"\u0917\u0928\u0947\u0936.sanjose.ibm.com",
220
"www.\u0121.com",
221
//"www.\u00E0\u00B3\u00AF.com",
222
"www.\u00C2\u00A4.com",
223
"www.\u00C2\u00A3.com",
224
// "\\u0025", //'%' (0x0025) produces U_IDNA_STD3_ASCII_RULES_ERROR
225
// "\\u005C\\u005C", //'\' (0x005C) produces U_IDNA_STD3_ASCII_RULES_ERROR
226
//"@",
227
//"\\u002F",
228
//"www.\\u0021.com",
229
//"www.\\u0024.com",
230
//"\\u003f",
231
// These yeild U_IDNA_PROHIBITED_ERROR
232
//"\\u00CF\\u0082.com",
233
//"\\u00CE\\u00B2\\u00C3\\u009Fss.com",
234
//"\\u00E2\\u0098\\u00BA.com",
235
"\u00C3\u00BC.com"
236
};
237
public static final String[] domainNamesToASCIIOut = {
238
"xn--31b8a2bwd.sanjose.ibm.com",
239
"www.xn--vea.com",
240
//"www.xn--3 -iia80t.com",
241
"www.xn--bba7j.com",
242
"www.xn--9a9j.com",
243
// "\u0025",
244
// "\u005C\u005C",
245
// "@",
246
// "\u002F",
247
// "www.\u0021.com",
248
// "www.\u0024.com",
249
// "\u003f",
250
"xn--14-ria7423a.com"
251
252
};
253
254
public static final String[] domainNamesToUnicodeOut = {
255
"\u0917\u0928\u0947\u0936.sanjose.ibm.com",
256
"www.\u0121.com",
257
//"www.\u00E0\u0033\u0020\u0304.com",
258
"www.\u00E2\u00A4.com",
259
"www.\u00E2\u00A3.com",
260
// "\u0025",
261
// "\u005C\u005C",
262
// "@",
263
// "\u002F",
264
// "www.\u0021.com",
265
// "www.\u0024.com",
266
// "\u003f",
267
"\u00E3\u0031\u2044\u0034.com"
268
269
};
270
271
272
public static class ErrorCase{
273
274
public char[] unicode;
275
public String ascii;
276
public Exception expected;
277
public boolean useSTD3ASCIIRules;
278
public boolean testToUnicode;
279
public boolean testLabel;
280
ErrorCase(char[] uniIn, String asciiIn, Exception ex,
281
boolean std3, boolean testToUni, boolean testlabel){
282
unicode = uniIn;
283
ascii = asciiIn;
284
expected = ex;
285
useSTD3ASCIIRules = std3;
286
testToUnicode = testToUni;
287
testLabel = testlabel;
288
289
}
290
};
291
public static final ErrorCase[] errorCases = {
292
293
294
new ErrorCase( new char[]{
295
0x0077, 0x0077, 0x0077, 0x002e, /* www. */
296
0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
297
0x070F,/*prohibited*/
298
0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
299
0x002e, 0x0063, 0x006f, 0x006d, /* com. */
300
301
},
302
"www.XN--8mb5595fsoa28orucya378bqre2tcwop06c5qbw82a1rffmae0361dea96b.com",
303
new ParseException("StringPrep PROHIBITED_ERROR", -1),
304
false, true, true),
305
306
new ErrorCase( new char[]{
307
0x0077, 0x0077, 0x0077, 0x002e, /* www. */
308
0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
309
0x0221, 0x0234/*Unassigned code points*/,
310
0x002e, 0x0063, 0x006f, 0x006d, /* com. */
311
312
},
313
"www.XN--6lA2Bz548Fj1GuA391Bf1Gb1N59Ab29A7iA.com",
314
315
new ParseException("StringPrep UNASSIGNED_ERROR", -1),
316
false, true, true
317
),
318
new ErrorCase( new char[]{
319
0x0077, 0x0077, 0x0077, 0x002e, /* www. */
320
0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
321
0x0644, 0x064A, 0x0647,/*Arabic code points. Cannot mix RTL with LTR*/
322
0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
323
0x002e, 0x0063, 0x006f, 0x006d, /* com. */
324
325
},
326
"www.xn--ghBGI4851OiyA33VqrD6Az86C4qF83CtRv93D5xBk15AzfG0nAgA0578DeA71C.com",
327
new ParseException("StringPrep CHECK_BIDI_ERROR", -1),
328
false, true, true
329
),
330
new ErrorCase( new char[]{
331
0x0077, 0x0077, 0x0077, 0x002e, /* www. */
332
/* labels cannot begin with an HYPHEN */
333
0x002D, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
334
0x002E,
335
0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
336
0x002e, 0x0063, 0x006f, 0x006d, /* com. */
337
338
339
},
340
"www.xn----b95Ew8SqA315Ao5FbuMlnNmhA.com",
341
new ParseException("StringPrep STD3_ASCII_RULES_ERROR", -1),
342
true, true, false
343
),
344
new ErrorCase( new char[]{
345
/* correct ACE-prefix followed by unicode */
346
0x0077, 0x0077, 0x0077, 0x002e, /* www. */
347
0x0078, 0x006e, 0x002d,0x002d, /* ACE Prefix */
348
0x002D, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
349
0x002D,
350
0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
351
0x002e, 0x0063, 0x006f, 0x006d, /* com. */
352
353
354
},
355
/* wrong ACE-prefix followed by valid ACE-encoded ASCII */
356
"www.XY-----b91I0V65S96C2A355Cw1E5yCeQr19CsnP1mFfmAE0361DeA96B.com",
357
new ParseException("StringPrep ACE_PREFIX_ERROR", -1),
358
false, false, false
359
),
360
/* cannot verify U_IDNA_VERIFICATION_ERROR */
361
362
new ErrorCase( new char[]{
363
0x0077, 0x0077, 0x0077, 0x002e, /* www. */
364
0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
365
0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
366
0xC5BC, 0xB9C8, 0xB098, 0xC88B, 0xC744, 0xAE4C,
367
0x002e, 0x0063, 0x006f, 0x006d, /* com. */
368
369
},
370
"www.xn--989AoMsVi5E83Db1D2A355Cv1E0vAk1DwRv93D5xBh15A0Dt30A5JpSD879Ccm6FeA98C.com",
371
new ParseException("StringPrep LABEL_TOO_LONG_ERROR", -1),
372
false, true, true
373
),
374
new ErrorCase( new char[]{
375
0x0077, 0x0077, 0x0077, 0x002e, /* www. */
376
0x0030, 0x0644, 0x064A, 0x0647, 0x0031, /* Arabic code points squashed between EN codepoints */
377
0x002e, 0x0063, 0x006f, 0x006d, /* com. */
378
379
},
380
"www.xn--01-tvdmo.com",
381
new ParseException("StringPrep CHECK_BIDI_ERROR", -1),
382
false, true, true
383
),
384
385
new ErrorCase( new char[]{
386
0x0077, 0x0077, 0x0077, 0x002e, // www.
387
0x206C, 0x0644, 0x064A, 0x0647, 0x206D, // Arabic code points squashed between BN codepoints
388
0x002e, 0x0063, 0x006f, 0x006d, // com.
389
390
},
391
"www.XN--ghbgi278xia.com",
392
new ParseException("StringPrep PROHIBITED_ERROR", -1),
393
false, true, true
394
),
395
new ErrorCase( new char[] {
396
0x0077, 0x0077, 0x0077, 0x002e, // www.
397
0x002D, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, // HYPHEN at the start of label
398
0x002e, 0x0063, 0x006f, 0x006d, // com.
399
400
},
401
"www.-abcde.com",
402
new ParseException("StringPrep STD3_ASCII_RULES_ERROR", -1),
403
true, true, false
404
),
405
new ErrorCase( new char[] {
406
0x0077, 0x0077, 0x0077, 0x002e, // www.
407
0x0041, 0x0042, 0x0043, 0x0044, 0x0045,0x002D, // HYPHEN at the end of the label
408
0x002e, 0x0063, 0x006f, 0x006d, // com.
409
410
},
411
"www.abcde-.com",
412
new ParseException("StringPrep STD3_ASCII_RULES_ERROR", -1),
413
true, true, false
414
),
415
new ErrorCase( new char[]{
416
0x0077, 0x0077, 0x0077, 0x002e, // www.
417
0x0041, 0x0042, 0x0043, 0x0044, 0x0045,0x0040, // Containing non LDH code point
418
0x002e, 0x0063, 0x006f, 0x006d, // com.
419
420
},
421
"[email protected]",
422
new ParseException("StringPrep STD3_ASCII_RULES_ERROR", -1),
423
true, true, false
424
),
425
426
};
427
428
429
public static final class ConformanceTestCase{
430
String comment;
431
String input;
432
String output;
433
String profile;
434
int flags;
435
Exception expected;
436
private static byte[] getBytes(String in){
437
if(in==null){
438
return null;
439
}
440
byte[] bytes = new byte[in.length()];
441
for(int i=0; i < in.length();i++){
442
bytes[i] = (byte)in.charAt(i);
443
}
444
return bytes;
445
}
446
ConformanceTestCase(String comt, String in, String out,
447
String prof, int flg, Exception ex)
448
{
449
450
try{
451
comment = comt;
452
byte[] bytes = getBytes(in);
453
input = new String(bytes,"UTF-8");
454
bytes = getBytes(out);
455
output = (bytes==null)? null : new String(bytes,"UTF-8");
456
profile = prof;
457
flags = flg;
458
expected = ex;
459
}catch (Exception e){
460
e.printStackTrace();
461
throw new RuntimeException();
462
}
463
}
464
}
465
466
public static final ConformanceTestCase[] conformanceTestCases =
467
{
468
469
new ConformanceTestCase(
470
"Case folding ASCII U+0043 U+0041 U+0046 U+0045",
471
"\u0043\u0041\u0046\u0045", "\u0063\u0061\u0066\u0065",
472
"Nameprep", 0,
473
null
474
475
),
476
new ConformanceTestCase(
477
"Case folding 8bit U+00DF (german sharp s)",
478
"\u00C3\u009F", "\u0073\u0073",
479
"Nameprep", 0,
480
null
481
),
482
new ConformanceTestCase(
483
"Non-ASCII multibyte space character U+1680",
484
"\u00E1\u009A\u0080", null,
485
"Nameprep", 0,
486
new ParseException("StringPrep PROHIBITED_ERROR", -1)
487
),
488
new ConformanceTestCase(
489
"Non-ASCII 8bit control character U+0085",
490
"\u00C2\u0085", null,
491
"Nameprep", 0,
492
new ParseException("StringPrep PROHIBITED_ERROR", -1)
493
),
494
new ConformanceTestCase(
495
"Non-ASCII multibyte control character U+180E",
496
"\u00E1\u00A0\u008E", null,
497
"Nameprep", 0,
498
new ParseException("StringPrep PROHIBITED_ERROR", -1)
499
),
500
new ConformanceTestCase(
501
"Non-ASCII control character U+1D175",
502
"\u00F0\u009D\u0085\u00B5", null,
503
"Nameprep", 0,
504
new ParseException("StringPrep PROHIBITED_ERROR", -1)
505
),
506
new ConformanceTestCase(
507
"Plane 0 private use character U+F123",
508
"\u00EF\u0084\u00A3", null,
509
"Nameprep", 0,
510
new ParseException("StringPrep PROHIBITED_ERROR", -1)
511
),
512
new ConformanceTestCase(
513
"Plane 15 private use character U+F1234",
514
"\u00F3\u00B1\u0088\u00B4", null,
515
"Nameprep", 0,
516
new ParseException("StringPrep PROHIBITED_ERROR", -1)
517
),
518
new ConformanceTestCase(
519
"Plane 16 private use character U+10F234",
520
"\u00F4\u008F\u0088\u00B4", null,
521
"Nameprep", 0,
522
new ParseException("StringPrep PROHIBITED_ERROR", -1)
523
),
524
new ConformanceTestCase(
525
"Non-character code point U+8FFFE",
526
"\u00F2\u008F\u00BF\u00BE", null,
527
"Nameprep", 0,
528
new ParseException("StringPrep PROHIBITED_ERROR", -1)
529
),
530
new ConformanceTestCase(
531
"Non-character code point U+10FFFF",
532
"\u00F4\u008F\u00BF\u00BF", null,
533
"Nameprep", 0,
534
new ParseException("StringPrep PROHIBITED_ERROR", -1)
535
),
536
/*
537
{
538
"Surrogate code U+DF42",
539
"\u00ED\u00BD\u0082", null, "Nameprep", InternationalizedDomainNames.DEFAULT,
540
U_IDNA_PROHIBITED_ERROR
541
},
542
*/
543
new ConformanceTestCase(
544
"Non-plain text character U+FFFD",
545
"\u00EF\u00BF\u00BD", null,
546
"Nameprep", 0,
547
new ParseException("StringPrep PROHIBITED_ERROR", -1)
548
),
549
new ConformanceTestCase(
550
"Ideographic description character U+2FF5",
551
"\u00E2\u00BF\u00B5", null,
552
"Nameprep", 0,
553
new ParseException("StringPrep PROHIBITED_ERROR", -1)
554
),
555
new ConformanceTestCase(
556
"Display property character U+0341",
557
"\u00CD\u0081", "\u00CC\u0081",
558
"Nameprep", 0,
559
null
560
561
),
562
563
new ConformanceTestCase(
564
"Left-to-right mark U+200E",
565
"\u00E2\u0080\u008E", "\u00CC\u0081",
566
"Nameprep", 0,
567
new ParseException("StringPrep PROHIBITED_ERROR", -1)
568
),
569
new ConformanceTestCase(
570
571
"Deprecated U+202A",
572
"\u00E2\u0080\u00AA", "\u00CC\u0081",
573
"Nameprep", 0,
574
new ParseException("StringPrep PROHIBITED_ERROR", -1)
575
),
576
new ConformanceTestCase(
577
"Language tagging character U+E0001",
578
"\u00F3\u00A0\u0080\u0081", "\u00CC\u0081",
579
"Nameprep", 0,
580
new ParseException("StringPrep PROHIBITED_ERROR", -1)
581
),
582
new ConformanceTestCase(
583
"Language tagging character U+E0042",
584
"\u00F3\u00A0\u0081\u0082", null,
585
"Nameprep", 0,
586
new ParseException("StringPrep PROHIBITED_ERROR", -1)
587
),
588
new ConformanceTestCase(
589
"Bidi: RandALCat character U+05BE and LCat characters",
590
"\u0066\u006F\u006F\u00D6\u00BE\u0062\u0061\u0072", null,
591
"Nameprep", 0,
592
new ParseException("StringPrep CHECK_BIDI_ERROR", -1)
593
),
594
new ConformanceTestCase(
595
"Bidi: RandALCat character U+FD50 and LCat characters",
596
"\u0066\u006F\u006F\u00EF\u00B5\u0090\u0062\u0061\u0072", null,
597
"Nameprep",0 ,
598
new ParseException("StringPrep CHECK_BIDI_ERROR", -1)
599
),
600
new ConformanceTestCase(
601
"Bidi: RandALCat character U+FB38 and LCat characters",
602
"\u0066\u006F\u006F\u00EF\u00B9\u00B6\u0062\u0061\u0072", "\u0066\u006F\u006F \u00d9\u008e\u0062\u0061\u0072",
603
"Nameprep", 0,
604
null
605
),
606
new ConformanceTestCase(
607
"Bidi: RandALCat without trailing RandALCat U+0627 U+0031",
608
"\u00D8\u00A7\u0031", null,
609
"Nameprep", 0,
610
new ParseException("StringPrep CHECK_BIDI_ERROR", -1)
611
),
612
new ConformanceTestCase(
613
"Bidi: RandALCat character U+0627 U+0031 U+0628",
614
"\u00D8\u00A7\u0031\u00D8\u00A8", "\u00D8\u00A7\u0031\u00D8\u00A8",
615
"Nameprep", 0,
616
null
617
),
618
new ConformanceTestCase(
619
"Unassigned code point U+E0002",
620
"\u00F3\u00A0\u0080\u0082", null,
621
"Nameprep", 0,
622
new ParseException("StringPrep UNASSIGNED_ERROR", -1)
623
),
624
625
/* // Invalid UTF-8
626
{
627
"Larger test (shrinking)",
628
"X\u00C2\u00AD\u00C3\u00DF\u00C4\u00B0\u00E2\u0084\u00A1\u006a\u00cc\u008c\u00c2\u00a0\u00c2"
629
"\u00aa\u00ce\u00b0\u00e2\u0080\u0080", "xssi\u00cc\u0087""tel\u00c7\u00b0 a\u00ce\u00b0 ",
630
"Nameprep",
631
InternationalizedDomainNames.DEFAULT, U_ZERO_ERROR
632
},
633
{
634
635
"Larger test (expanding)",
636
"X\u00C3\u00DF\u00e3\u008c\u0096\u00C4\u00B0\u00E2\u0084\u00A1\u00E2\u0092\u009F\u00E3\u008c\u0080",
637
"xss\u00e3\u0082\u00ad\u00e3\u0083\u00ad\u00e3\u0083\u00a1\u00e3\u0083\u00bc\u00e3\u0083\u0088"
638
"\u00e3\u0083\u00ab""i\u00cc\u0087""tel\u0028""d\u0029\u00e3\u0082\u00a2\u00e3\u0083\u0091"
639
"\u00e3\u0083\u00bc\u00e3\u0083\u0088"
640
"Nameprep",
641
InternationalizedDomainNames.DEFAULT, U_ZERO_ERROR
642
},
643
*/
644
};
645
}
646
647