73 {
74 "",
75 "jdk.localedata",
76 List.of(
77 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
78 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
79 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
80 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
81 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
82 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
83 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class",
84 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
85 List.of(),
86 Arrays.stream(Locale.getAvailableLocales())
87 // "(root)" for Locale.ROOT rather than ""
88 .map(loc -> loc.equals(Locale.ROOT) ? "(root)" : loc.toString())
89 .collect(Collectors.toList()),
90 "",
91 },
92
93 // All English and Japanese locales
94 {
95 "--include-locales=en,ja",
96 "jdk.localedata",
97 List.of(
98 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
99 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
100 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
101 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class"),
102 List.of(
103 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
104 "/jdk.localedata/sun/text/resources/thai_dict",
105 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
106 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
107 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
108 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
109 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
110 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class",
111 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
112 List.of(
113 "(root)", "en", "en_001", "en_150", "en_AG", "en_AI", "en_AS", "en_AT",
114 "en_AU", "en_BB", "en_BE", "en_BI", "en_BM", "en_BS", "en_BW", "en_BZ",
115 "en_CA", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE",
116 "en_DG", "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM",
117 "en_GB", "en_GD", "en_GG", "en_GH", "en_GI", "en_GM", "en_GU", "en_GY",
118 "en_HK", "en_IE", "en_IL", "en_IM", "en_IN", "en_IO", "en_JE", "en_JM",
119 "en_KE", "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG",
120 "en_MH", "en_MO", "en_MP", "en_MS", "en_MT", "en_MU", "en_MW", "en_MY",
121 "en_NA", "en_NF", "en_NG", "en_NL", "en_NR", "en_NU", "en_NZ", "en_PG",
122 "en_PH", "en_PK", "en_PN", "en_PR", "en_PW", "en_RW", "en_SB", "en_SC",
123 "en_SD", "en_SE", "en_SG", "en_SH", "en_SI", "en_SL", "en_SS", "en_SX",
124 "en_SZ", "en_TC", "en_TK", "en_TO", "en_TT", "en_TV", "en_TZ", "en_UG",
125 "en_UM", "en_US", "en_US_POSIX", "en_VC", "en_VG", "en_VI", "en_VU",
126 "en_WS", "en_ZA", "en_ZM", "en_ZW", "ja", "ja_JP",
127 "ja_JP_JP_#u-ca-japanese"),
128 "",
129 },
130
131 // All locales in India
132 {
133 "--include-locales=*-IN",
134 "jdk.localedata",
135 List.of(
136 "/jdk.localedata/sun/text/resources/ext/FormatData_en_IN.class",
137 "/jdk.localedata/sun/text/resources/ext/FormatData_hi_IN.class",
138 "/jdk.localedata/sun/util/resources/cldr/ext/CalendarData_as_IN.class",
139 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
140 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_IN.class",
141 "/jdk.localedata/sun/util/resources/cldr/ext/CalendarData_kok_IN.class",
142 "/jdk.localedata/sun/util/resources/cldr/ext/CalendarData_pa_Guru_IN.class"),
143 List.of(
144 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
145 "/jdk.localedata/sun/text/resources/thai_dict",
146 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
147 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
148 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
149 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
150 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
151 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
152 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
153 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
154 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class",
155 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
156 List.of(
157 "(root)", "as_IN", "bn_IN", "bo_IN", "brx_IN", "en", /* "en_001", */
158 "en_IN", "en_US", "en_US_POSIX", "gu_IN", "hi_IN", "kn_IN", "kok_IN",
159 "ks_IN", "ml_IN", "mr_IN", "ne_IN", "or_IN", "pa_IN", "pa_IN_#Guru",
160 "ta_IN", "te_IN", "ur_IN"),
161 "",
162 },
163
164 // Thai
165 {
166 "--include-locales=th",
167 "jdk.localedata",
168 List.of(
169 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
170 "/jdk.localedata/sun/text/resources/thai_dict",
171 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
172 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
173 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
174 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class"),
175 List.of(
176 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
177 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
178 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
179 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
180 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
186 },
187
188 // Hong Kong
189 {
190 "--include-locales=zh-HK",
191 "jdk.localedata",
192 List.of(
193 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
194 "/jdk.localedata/sun/text/resources/ext/FormatData_zh_HK.class",
195 "/jdk.localedata/sun/text/resources/ext/FormatData_zh_TW.class",
196 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
197 List.of(
198 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
199 "/jdk.localedata/sun/text/resources/thai_dict",
200 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
201 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
202 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
203 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
204 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
205 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
206 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
207 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
208 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class"),
209 List.of(
210 "(root)", "en", "en_US", "en_US_POSIX", "zh_HK", "zh_HK_#Hans",
211 "zh_HK_#Hant"),
212 "",
213 },
214
215 // Norwegian
216 {
217 "--include-locales=nb,nn,no",
218 "jdk.localedata",
219 List.of(
220 "/jdk.localedata/sun/text/resources/ext/FormatData_no.class",
221 "/jdk.localedata/sun/text/resources/ext/FormatData_no_NO.class",
222 "/jdk.localedata/sun/text/resources/ext/FormatData_no_NO_NY.class",
223 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_nb.class",
224 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_nn.class"),
225 List.of(
226 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
227 "/jdk.localedata/sun/text/resources/thai_dict",
228 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
229 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
230 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
231 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
273 // Error case: No matching locales
274 {
275 "--include-locales=xyz",
276 "jdk.localedata",
277 null,
278 null,
279 null,
280 new PluginException(String.format(
281 PluginsResourceBundle.getMessage("include-locales.nomatchinglocales"), "xyz"))
282 .getMessage(),
283 },
284
285 // Error case: Invalid argument
286 {
287 "--include-locales=en,zh_HK",
288 "jdk.localedata",
289 null,
290 null,
291 null,
292 new PluginException(String.format(
293 PluginsResourceBundle.getMessage("include-locales.invalidtag"), "zh_HK"))
294 .getMessage(),
295 },
296
297 // Error case: jdk.localedata is not added
298 {
299 "--include-locales=en-US",
300 "java.base",
301 null,
302 null,
303 null,
304 new PluginException(
305 PluginsResourceBundle.getMessage("include-locales.localedatanotfound"))
306 .getMessage(),
307 },
308 };
309
310 public static void main(String[] args) throws Exception {
311 helper = Helper.newHelper();
312 if (helper == null) {
313 System.err.println("Test not run");
|
73 {
74 "",
75 "jdk.localedata",
76 List.of(
77 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
78 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
79 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
80 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
81 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
82 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
83 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class",
84 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
85 List.of(),
86 Arrays.stream(Locale.getAvailableLocales())
87 // "(root)" for Locale.ROOT rather than ""
88 .map(loc -> loc.equals(Locale.ROOT) ? "(root)" : loc.toString())
89 .collect(Collectors.toList()),
90 "",
91 },
92
93 // Asterisk works exactly the same as above
94 {
95 "*",
96 "jdk.localedata",
97 List.of(
98 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
99 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
100 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
101 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
102 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
103 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
104 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class",
105 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
106 List.of(),
107 Arrays.stream(Locale.getAvailableLocales())
108 // "(root)" for Locale.ROOT rather than ""
109 .map(loc -> loc.equals(Locale.ROOT) ? "(root)" : loc.toString())
110 .collect(Collectors.toList()),
111 "",
112 },
113
114 // World English/Spanish in Latin America
115 {
116 "--include-locales=en-001,es-419",
117 "jdk.localedata",
118 List.of(
119 "/jdk.localedata/sun/text/resources/ext/FormatData_en_AU.class",
120 "/jdk.localedata/sun/text/resources/ext/FormatData_es.class",
121 "/jdk.localedata/sun/text/resources/ext/FormatData_es_AR.class",
122 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
123 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_150.class",
124 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_AT.class",
125 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_es.class",
126 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_es_419.class",
127 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_es_AR.class"),
128 List.of(
129 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
130 "/jdk.localedata/sun/text/resources/thai_dict",
131 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
132 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
133 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
134 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
135 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
136 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
137 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class"),
138 List.of(
139 "(root)", "en", "en_US", "en_US_POSIX", "en_001", "en_150", "en_AG", "en_AI",
140 "en_AT", "en_AU", "en_BB", "en_BE", "en_BM", "en_BS", "en_BW", "en_BZ",
141 "en_CA", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE",
142 "en_DG", "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM",
143 "en_GB", "en_GD", "en_GG", "en_GH", "en_GI", "en_GM", "en_GY", "en_HK",
144 "en_IE", "en_IL", "en_IM", "en_IN", "en_IO", "en_JE", "en_JM", "en_KE",
145 "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG", "en_MO",
146 "en_MS", "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF", "en_NG",
147 "en_NL", "en_NR", "en_NU", "en_NZ", "en_PG", "en_PH", "en_PK", "en_PN",
148 "en_PW", "en_RW", "en_SB", "en_SC", "en_SD", "en_SE", "en_SG", "en_SH",
149 "en_SI", "en_SL", "en_SS", "en_SX", "en_SZ", "en_TC", "en_TK", "en_TO",
150 "en_TT", "en_TV", "en_TZ", "en_UG", "en_VC", "en_VG", "en_VU", "en_WS",
151 "en_ZA", "en_ZM", "en_ZW", "es", "es_419", "es_AR", "es_BO", "es_BR",
152 "es_CL", "es_CO", "es_CR", "es_CU", "es_DO", "es_EC", "es_GT", "es_HN",
153 "es_MX", "es_NI", "es_PA", "es_PE", "es_PR", "es_PY", "es_SV", "es_US",
154 "es_UY", "es_VE"),
155 "",
156 },
157
158 // All English and Japanese locales
159 {
160 "--include-locales=en,ja",
161 "jdk.localedata",
162 List.of(
163 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
164 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
165 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
166 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class"),
167 List.of(
168 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
169 "/jdk.localedata/sun/text/resources/thai_dict",
170 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
171 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
172 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
173 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
174 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
175 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class",
176 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
177 List.of(
178 "(root)", "en", "en_001", "en_150", "en_AG", "en_AI", "en_AS", "en_AT",
179 "en_AU", "en_BB", "en_BE", "en_BI", "en_BM", "en_BS", "en_BW", "en_BZ",
180 "en_CA", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE",
181 "en_DG", "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM",
182 "en_GB", "en_GD", "en_GG", "en_GH", "en_GI", "en_GM", "en_GU", "en_GY",
183 "en_HK", "en_IE", "en_IL", "en_IM", "en_IN", "en_IO", "en_JE", "en_JM",
184 "en_KE", "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG",
185 "en_MH", "en_MO", "en_MP", "en_MS", "en_MT", "en_MU", "en_MW", "en_MY",
186 "en_NA", "en_NF", "en_NG", "en_NL", "en_NR", "en_NU", "en_NZ", "en_PG",
187 "en_PH", "en_PK", "en_PN", "en_PR", "en_PW", "en_RW", "en_SB", "en_SC",
188 "en_SD", "en_SE", "en_SG", "en_SH", "en_SI", "en_SL", "en_SS", "en_SX",
189 "en_SZ", "en_TC", "en_TK", "en_TO", "en_TT", "en_TV", "en_TZ", "en_UG",
190 "en_UM", "en_US", "en_US_POSIX", "en_VC", "en_VG", "en_VI", "en_VU",
191 "en_WS", "en_ZA", "en_ZM", "en_ZW", "ja", "ja_JP",
192 "ja_JP_JP_#u-ca-japanese"),
193 "",
194 },
195
196 // All locales in Austria
197 {
198 "--include-locales=*-AT",
199 "jdk.localedata",
200 List.of(
201 "/jdk.localedata/sun/text/resources/ext/FormatData_de.class",
202 "/jdk.localedata/sun/text/resources/ext/FormatData_de_AT.class",
203 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_de.class",
204 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_de_AT.class",
205 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
206 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_150.class",
207 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_AT.class"),
208 List.of(
209 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
210 "/jdk.localedata/sun/text/resources/thai_dict",
211 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
212 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
213 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
214 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
215 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
216 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
217 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
218 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class"),
219 List.of(
220 "(root)", "en", "en_US", "en_US_POSIX", "en_001", "en_150", "en_AT",
221 "de", "de_AT"),
222 "",
223 },
224
225 // All locales in India
226 {
227 "--include-locales=*-IN",
228 "jdk.localedata",
229 List.of(
230 "/jdk.localedata/sun/text/resources/ext/FormatData_en_IN.class",
231 "/jdk.localedata/sun/text/resources/ext/FormatData_hi_IN.class",
232 "/jdk.localedata/sun/util/resources/cldr/ext/CalendarData_as_IN.class",
233 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
234 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_IN.class",
235 "/jdk.localedata/sun/util/resources/cldr/ext/CalendarData_kok_IN.class",
236 "/jdk.localedata/sun/util/resources/cldr/ext/CalendarData_pa_Guru_IN.class"),
237 List.of(
238 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
239 "/jdk.localedata/sun/text/resources/thai_dict",
240 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
241 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
242 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
243 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
244 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
245 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
246 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
247 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
248 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class",
249 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
250 List.of(
251 "(root)", "as_IN", "as", "bn_IN", "bn", "bo_IN", "bo", "brx_IN", "brx",
252 "en", "en_001", "en_IN", "en_US", "en_US_POSIX", "gu_IN", "gu", "hi_IN",
253 "hi", "kn_IN", "kn", "kok_IN", "kok", "ks_IN", "ks", "ml_IN", "ml",
254 "mr_IN", "mr", "ne_IN", "ne", "or_IN", "or", "pa_IN", "pa", "pa_IN_#Guru",
255 "pa__#Guru", "ta_IN", "ta", "te_IN", "te", "ur_IN", "ur"),
256 "",
257 },
258
259 // Thai
260 {
261 "--include-locales=th",
262 "jdk.localedata",
263 List.of(
264 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
265 "/jdk.localedata/sun/text/resources/thai_dict",
266 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
267 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
268 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
269 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class"),
270 List.of(
271 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
272 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
273 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
274 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
275 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
281 },
282
283 // Hong Kong
284 {
285 "--include-locales=zh-HK",
286 "jdk.localedata",
287 List.of(
288 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
289 "/jdk.localedata/sun/text/resources/ext/FormatData_zh_HK.class",
290 "/jdk.localedata/sun/text/resources/ext/FormatData_zh_TW.class",
291 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
292 List.of(
293 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
294 "/jdk.localedata/sun/text/resources/thai_dict",
295 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
296 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
297 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
298 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
299 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
300 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
301 "/jdk.localedata/sun/text/resources/ext/FormatData_zh_CN.class",
302 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
303 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
304 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class"),
305 List.of(
306 "(root)", "en", "en_US", "en_US_POSIX", "zh", "zh__#Hans", "zh__#Hant",
307 "zh_HK", "zh_HK_#Hans", "zh_HK_#Hant"),
308 "",
309 },
310
311 // Simplified Chinese
312 {
313 "--include-locales=zh-Hans",
314 "jdk.localedata",
315 List.of(
316 "/jdk.localedata/sun/text/resources/ext/FormatData_zh.class",
317 "/jdk.localedata/sun/text/resources/ext/FormatData_zh_CN.class",
318 "/jdk.localedata/sun/text/resources/ext/FormatData_zh_SG.class",
319 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_zh.class"),
320 List.of(
321 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
322 "/jdk.localedata/sun/text/resources/thai_dict",
323 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
324 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
325 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
326 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
327 "/jdk.localedata/sun/text/resources/ext/FormatData_ja.class",
328 "/jdk.localedata/sun/text/resources/ext/FormatData_th.class",
329 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_en_001.class",
330 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_ja.class",
331 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_th.class"),
332 List.of(
333 "(root)", "en", "en_US", "en_US_POSIX", "zh", "zh__#Hans", "zh_CN",
334 "zh_CN_#Hans", "zh_HK_#Hans", "zh_MO_#Hans", "zh_SG", "zh_SG_#Hans"),
335 "",
336 },
337
338 // Norwegian
339 {
340 "--include-locales=nb,nn,no",
341 "jdk.localedata",
342 List.of(
343 "/jdk.localedata/sun/text/resources/ext/FormatData_no.class",
344 "/jdk.localedata/sun/text/resources/ext/FormatData_no_NO.class",
345 "/jdk.localedata/sun/text/resources/ext/FormatData_no_NO_NY.class",
346 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_nb.class",
347 "/jdk.localedata/sun/text/resources/cldr/ext/FormatData_nn.class"),
348 List.of(
349 "/jdk.localedata/sun/text/resources/LineBreakIteratorData_th",
350 "/jdk.localedata/sun/text/resources/thai_dict",
351 "/jdk.localedata/sun/text/resources/WordBreakIteratorData_th",
352 "/jdk.localedata/sun/text/resources/ext/BreakIteratorInfo_th.class",
353 "/jdk.localedata/sun/text/resources/ext/BreakIteratorRules_th.class",
354 "/jdk.localedata/sun/text/resources/ext/FormatData_en_GB.class",
396 // Error case: No matching locales
397 {
398 "--include-locales=xyz",
399 "jdk.localedata",
400 null,
401 null,
402 null,
403 new PluginException(String.format(
404 PluginsResourceBundle.getMessage("include-locales.nomatchinglocales"), "xyz"))
405 .getMessage(),
406 },
407
408 // Error case: Invalid argument
409 {
410 "--include-locales=en,zh_HK",
411 "jdk.localedata",
412 null,
413 null,
414 null,
415 new PluginException(String.format(
416 PluginsResourceBundle.getMessage("include-locales.invalidtag"), "zh_hk"))
417 .getMessage(),
418 },
419
420 // Error case: jdk.localedata is not added
421 {
422 "--include-locales=en-US",
423 "java.base",
424 null,
425 null,
426 null,
427 new PluginException(
428 PluginsResourceBundle.getMessage("include-locales.localedatanotfound"))
429 .getMessage(),
430 },
431 };
432
433 public static void main(String[] args) throws Exception {
434 helper = Helper.newHelper();
435 if (helper == null) {
436 System.err.println("Test not run");
|