40 |
40 |
41 public class Bug8040211 { |
41 public class Bug8040211 { |
42 |
42 |
43 static boolean err = false; |
43 static boolean err = false; |
44 |
44 |
|
45 private static final String ACCEPT_LANGUAGE = |
|
46 "Accept-Language: aam, adp, aog, aue, bcg, cey, cqu, dif, ema," |
|
47 + " en-gb-oed, gti, kdz, koj, kwq, kxe, lii, lmm, lsn, lsv, lvi, mtm," |
|
48 + " ngv, nns, oyb, phr, pnd, pub, snz, suj, szy,taj, tjj, tjp, tvx," |
|
49 + " uss, uth, wkr;q=0.9, ar-hyw;q=0.8, yug;q=0.5, gfx;q=0.4"; |
|
50 private static final List<LanguageRange> EXPECTED_RANGE_LIST = List.of( |
|
51 new LanguageRange("aam", 1.0), |
|
52 new LanguageRange("aas", 1.0), |
|
53 new LanguageRange("adp", 1.0), |
|
54 new LanguageRange("dz", 1.0), |
|
55 new LanguageRange("aog", 1.0), |
|
56 new LanguageRange("myd", 1.0), |
|
57 new LanguageRange("aue", 1.0), |
|
58 new LanguageRange("ktz", 1.0), |
|
59 new LanguageRange("bcg", 1.0), |
|
60 new LanguageRange("bgm", 1.0), |
|
61 new LanguageRange("cey", 1.0), |
|
62 new LanguageRange("cqu", 1.0), |
|
63 new LanguageRange("quh", 1.0), |
|
64 new LanguageRange("dif", 1.0), |
|
65 new LanguageRange("dit", 1.0), |
|
66 new LanguageRange("ema", 1.0), |
|
67 new LanguageRange("uok", 1.0), |
|
68 new LanguageRange("en-gb-oed", 1.0), |
|
69 new LanguageRange("en-gb-oxendict", 1.0), |
|
70 new LanguageRange("gti", 1.0), |
|
71 new LanguageRange("nyc", 1.0), |
|
72 new LanguageRange("kdz", 1.0), |
|
73 new LanguageRange("ncp", 1.0), |
|
74 new LanguageRange("koj", 1.0), |
|
75 new LanguageRange("kwv", 1.0), |
|
76 new LanguageRange("kwq", 1.0), |
|
77 new LanguageRange("yam", 1.0), |
|
78 new LanguageRange("kxe", 1.0), |
|
79 new LanguageRange("tvd", 1.0), |
|
80 new LanguageRange("lii", 1.0), |
|
81 new LanguageRange("raq", 1.0), |
|
82 new LanguageRange("lmm", 1.0), |
|
83 new LanguageRange("rmx", 1.0), |
|
84 new LanguageRange("lsn", 1.0), |
|
85 new LanguageRange("lsv", 1.0), |
|
86 new LanguageRange("lvi", 1.0), |
|
87 new LanguageRange("mtm", 1.0), |
|
88 new LanguageRange("ymt", 1.0), |
|
89 new LanguageRange("ngv", 1.0), |
|
90 new LanguageRange("nnx", 1.0), |
|
91 new LanguageRange("nns", 1.0), |
|
92 new LanguageRange("nbr", 1.0), |
|
93 new LanguageRange("oyb", 1.0), |
|
94 new LanguageRange("thx", 1.0), |
|
95 new LanguageRange("skk", 1.0), |
|
96 new LanguageRange("jeg", 1.0), |
|
97 new LanguageRange("phr", 1.0), |
|
98 new LanguageRange("pmu", 1.0), |
|
99 new LanguageRange("pnd", 1.0), |
|
100 new LanguageRange("pub", 1.0), |
|
101 new LanguageRange("puz", 1.0), |
|
102 new LanguageRange("snz", 1.0), |
|
103 new LanguageRange("asd", 1.0), |
|
104 new LanguageRange("suj", 1.0), |
|
105 new LanguageRange("szy", 1.0), |
|
106 new LanguageRange("taj", 1.0), |
|
107 new LanguageRange("tsf", 1.0), |
|
108 new LanguageRange("tjj", 1.0), |
|
109 new LanguageRange("tjp", 1.0), |
|
110 new LanguageRange("tvx", 1.0), |
|
111 new LanguageRange("uss", 1.0), |
|
112 new LanguageRange("uth", 1.0), |
|
113 new LanguageRange("wkr", 0.9), |
|
114 new LanguageRange("ar-hyw", 0.8), |
|
115 new LanguageRange("yug", 0.5), |
|
116 new LanguageRange("yuu", 0.5), |
|
117 new LanguageRange("gfx", 0.4), |
|
118 new LanguageRange("oun", 0.4), |
|
119 new LanguageRange("mwj", 0.4), |
|
120 new LanguageRange("vaj", 0.4) |
|
121 ); |
|
122 |
45 public static void main(String[] args) { |
123 public static void main(String[] args) { |
46 testLanguageRange(); |
124 testLanguageRange(); |
47 testLocale(); |
125 testLocale(); |
48 |
126 |
49 if (err) { |
127 if (err) { |
64 test_lookupTag(); |
142 test_lookupTag(); |
65 } |
143 } |
66 |
144 |
67 private static void test_parse() { |
145 private static void test_parse() { |
68 boolean error = false; |
146 boolean error = false; |
69 String str = "Accept-Language: aam, adp, aue, bcg, cqu, ema," |
147 List<LanguageRange> got = LanguageRange.parse(ACCEPT_LANGUAGE); |
70 + " en-gb-oed, gti, kdz, koj, kwq, kxe, lii, lmm, mtm, ngv," |
148 if (!areEqual(EXPECTED_RANGE_LIST, got)) { |
71 + " oyb, phr, pub, suj, taj;q=0.9, ar-hyw;q=0.8, yug;q=0.5, gfx;q=0.4"; |
|
72 ArrayList<LanguageRange> expected = new ArrayList<>(); |
|
73 expected.add(new LanguageRange("aam", 1.0)); |
|
74 expected.add(new LanguageRange("aas", 1.0)); |
|
75 expected.add(new LanguageRange("adp", 1.0)); |
|
76 expected.add(new LanguageRange("dz", 1.0)); |
|
77 expected.add(new LanguageRange("aue", 1.0)); |
|
78 expected.add(new LanguageRange("ktz", 1.0)); |
|
79 expected.add(new LanguageRange("bcg", 1.0)); |
|
80 expected.add(new LanguageRange("bgm", 1.0)); |
|
81 expected.add(new LanguageRange("cqu", 1.0)); |
|
82 expected.add(new LanguageRange("quh", 1.0)); |
|
83 expected.add(new LanguageRange("ema", 1.0)); |
|
84 expected.add(new LanguageRange("uok", 1.0)); |
|
85 expected.add(new LanguageRange("en-gb-oed", 1.0)); |
|
86 expected.add(new LanguageRange("en-gb-oxendict", 1.0)); |
|
87 expected.add(new LanguageRange("gti", 1.0)); |
|
88 expected.add(new LanguageRange("nyc", 1.0)); |
|
89 expected.add(new LanguageRange("kdz", 1.0)); |
|
90 expected.add(new LanguageRange("ncp", 1.0)); |
|
91 expected.add(new LanguageRange("koj", 1.0)); |
|
92 expected.add(new LanguageRange("kwv", 1.0)); |
|
93 expected.add(new LanguageRange("kwq", 1.0)); |
|
94 expected.add(new LanguageRange("yam", 1.0)); |
|
95 expected.add(new LanguageRange("kxe", 1.0)); |
|
96 expected.add(new LanguageRange("tvd", 1.0)); |
|
97 expected.add(new LanguageRange("lii", 1.0)); |
|
98 expected.add(new LanguageRange("raq", 1.0)); |
|
99 expected.add(new LanguageRange("lmm", 1.0)); |
|
100 expected.add(new LanguageRange("rmx", 1.0)); |
|
101 expected.add(new LanguageRange("mtm", 1.0)); |
|
102 expected.add(new LanguageRange("ymt", 1.0)); |
|
103 expected.add(new LanguageRange("ngv", 1.0)); |
|
104 expected.add(new LanguageRange("nnx", 1.0)); |
|
105 expected.add(new LanguageRange("oyb", 1.0)); |
|
106 expected.add(new LanguageRange("thx", 1.0)); |
|
107 expected.add(new LanguageRange("skk", 1.0)); |
|
108 expected.add(new LanguageRange("jeg", 1.0)); |
|
109 expected.add(new LanguageRange("phr", 1.0)); |
|
110 expected.add(new LanguageRange("pmu", 1.0)); |
|
111 expected.add(new LanguageRange("pub", 1.0)); |
|
112 expected.add(new LanguageRange("puz", 1.0)); |
|
113 expected.add(new LanguageRange("suj", 1.0)); |
|
114 expected.add(new LanguageRange("xsj", 1.0)); |
|
115 expected.add(new LanguageRange("taj", 0.9)); |
|
116 expected.add(new LanguageRange("tsf", 0.9)); |
|
117 expected.add(new LanguageRange("ar-hyw", 0.8)); |
|
118 expected.add(new LanguageRange("yug", 0.5)); |
|
119 expected.add(new LanguageRange("yuu", 0.5)); |
|
120 expected.add(new LanguageRange("gfx", 0.4)); |
|
121 expected.add(new LanguageRange("oun", 0.4)); |
|
122 expected.add(new LanguageRange("mwj", 0.4)); |
|
123 expected.add(new LanguageRange("vaj", 0.4)); |
|
124 List<LanguageRange> got = LanguageRange.parse(str); |
|
125 if (!areEqual(expected, got)) { |
|
126 error = true; |
149 error = true; |
127 System.err.println(" language parse() test failed."); |
150 System.err.println(" language parse() test failed."); |
128 } |
151 } |
129 |
152 |
130 if (error) { |
153 if (error) { |
131 err = true; |
154 err = true; |
132 System.err.println(" test_parse() failed."); |
155 System.out.println(" test_parse() failed."); |
133 } else { |
156 } else { |
134 System.out.println(" test_parse() passed."); |
157 System.out.println(" test_parse() passed."); |
135 } |
158 } |
136 |
159 |
137 } |
160 } |