|
1 /* |
|
2 * Copyright (c) 2017, 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 * @test |
|
26 * @bug 8185841 |
|
27 * @summary Test that Region dependent Bundles are added/removed correctly. |
|
28 * @modules jdk.localedata |
|
29 */ |
|
30 |
|
31 /* |
|
32 This test is dependent on a particular version of CLDR. |
|
33 */ |
|
34 import java.net.URI; |
|
35 import java.nio.file.FileSystem; |
|
36 import java.nio.file.FileSystems; |
|
37 import java.nio.file.Files; |
|
38 import java.nio.file.Path; |
|
39 import java.util.Collections; |
|
40 import java.util.HashSet; |
|
41 import java.util.Set; |
|
42 import java.util.stream.Collectors; |
|
43 |
|
44 public class Bug8185841 { |
|
45 // Golden data for Region dependent Bundles in CLDR29. |
|
46 |
|
47 private static final Set<String> expectedBundles |
|
48 = Set.of("CalendarData_af_NA.class", "CalendarData_af_ZA.class", "CalendarData_agq_CM.class", |
|
49 "CalendarData_ak_GH.class", "CalendarData_am_ET.class", "CalendarData_ar_AE.class", |
|
50 "CalendarData_ar_BH.class", "CalendarData_ar_DJ.class", "CalendarData_ar_DZ.class", |
|
51 "CalendarData_ar_EG.class", "CalendarData_ar_EH.class", "CalendarData_ar_ER.class", |
|
52 "CalendarData_ar_IL.class", "CalendarData_ar_IQ.class", "CalendarData_ar_JO.class", |
|
53 "CalendarData_ar_KM.class", "CalendarData_ar_KW.class", "CalendarData_ar_LB.class", |
|
54 "CalendarData_ar_LY.class", "CalendarData_ar_MA.class", "CalendarData_ar_MR.class", |
|
55 "CalendarData_ar_OM.class", "CalendarData_ar_PS.class", "CalendarData_ar_QA.class", |
|
56 "CalendarData_ar_SA.class", "CalendarData_ar_SD.class", "CalendarData_ar_SO.class", |
|
57 "CalendarData_ar_SS.class", "CalendarData_ar_SY.class", "CalendarData_ar_TD.class", |
|
58 "CalendarData_ar_TN.class", "CalendarData_ar_YE.class", "CalendarData_as_IN.class", |
|
59 "CalendarData_asa_TZ.class", "CalendarData_ast_ES.class", "CalendarData_az_AZ.class", |
|
60 "CalendarData_az_Cyrl_AZ.class", "CalendarData_bas_CM.class", "CalendarData_be_BY.class", |
|
61 "CalendarData_bem_ZM.class", "CalendarData_bez_TZ.class", "CalendarData_bg_BG.class", |
|
62 "CalendarData_bm_ML.class", "CalendarData_bn_BD.class", "CalendarData_bn_IN.class", |
|
63 "CalendarData_bo_CN.class", "CalendarData_bo_IN.class", "CalendarData_br_FR.class", |
|
64 "CalendarData_brx_IN.class", "CalendarData_bs_BA.class", "CalendarData_bs_Cyrl_BA.class", |
|
65 "CalendarData_ca_AD.class", "CalendarData_ca_ES.class", "CalendarData_ca_FR.class", |
|
66 "CalendarData_ca_IT.class", "CalendarData_ce_RU.class", "CalendarData_cgg_UG.class", |
|
67 "CalendarData_chr_US.class", "CalendarData_ckb_IQ.class", "CalendarData_ckb_IR.class", |
|
68 "CalendarData_cs_CZ.class", "CalendarData_cu_RU.class", "CalendarData_cy_GB.class", |
|
69 "CalendarData_da_DK.class", "CalendarData_da_GL.class", "CalendarData_dav_KE.class", |
|
70 "CalendarData_de_AT.class", "CalendarData_de_BE.class", "CalendarData_de_CH.class", |
|
71 "CalendarData_de_DE.class", "CalendarData_de_LI.class", "CalendarData_de_LU.class", |
|
72 "CalendarData_dje_NE.class", "CalendarData_dsb_DE.class", "CalendarData_dua_CM.class", |
|
73 "CalendarData_dyo_SN.class", "CalendarData_dz_BT.class", "CalendarData_ebu_KE.class", |
|
74 "CalendarData_ee_GH.class", "CalendarData_ee_TG.class", "CalendarData_el_CY.class", |
|
75 "CalendarData_el_GR.class", "CalendarData_en_AG.class", "CalendarData_en_AI.class", |
|
76 "CalendarData_en_AS.class", "CalendarData_en_AT.class", "CalendarData_en_AU.class", |
|
77 "CalendarData_en_BB.class", "CalendarData_en_BE.class", "CalendarData_en_BI.class", |
|
78 "CalendarData_en_BM.class", "CalendarData_en_BS.class", "CalendarData_en_BW.class", |
|
79 "CalendarData_en_BZ.class", "CalendarData_en_CA.class", "CalendarData_en_CC.class", |
|
80 "CalendarData_en_CH.class", "CalendarData_en_CK.class", "CalendarData_en_CM.class", |
|
81 "CalendarData_en_CX.class", "CalendarData_en_CY.class", "CalendarData_en_DE.class", |
|
82 "CalendarData_en_DG.class", "CalendarData_en_DK.class", "CalendarData_en_DM.class", |
|
83 "CalendarData_en_ER.class", "CalendarData_en_FI.class", "CalendarData_en_FJ.class", |
|
84 "CalendarData_en_FK.class", "CalendarData_en_FM.class", "CalendarData_en_GB.class", |
|
85 "CalendarData_en_GD.class", "CalendarData_en_GG.class", "CalendarData_en_GH.class", |
|
86 "CalendarData_en_GI.class", "CalendarData_en_GM.class", "CalendarData_en_GU.class", |
|
87 "CalendarData_en_GY.class", "CalendarData_en_HK.class", "CalendarData_en_IE.class", |
|
88 "CalendarData_en_IL.class", "CalendarData_en_IM.class", "CalendarData_en_IN.class", |
|
89 "CalendarData_en_IO.class", "CalendarData_en_JE.class", "CalendarData_en_JM.class", |
|
90 "CalendarData_en_KE.class", "CalendarData_en_KI.class", "CalendarData_en_KN.class", |
|
91 "CalendarData_en_KY.class", "CalendarData_en_LC.class", "CalendarData_en_LR.class", |
|
92 "CalendarData_en_LS.class", "CalendarData_en_MG.class", "CalendarData_en_MH.class", |
|
93 "CalendarData_en_MO.class", "CalendarData_en_MP.class", "CalendarData_en_MS.class", |
|
94 "CalendarData_en_MT.class", "CalendarData_en_MU.class", "CalendarData_en_MW.class", |
|
95 "CalendarData_en_MY.class", "CalendarData_en_NA.class", "CalendarData_en_NF.class", |
|
96 "CalendarData_en_NG.class", "CalendarData_en_NL.class", "CalendarData_en_NR.class", |
|
97 "CalendarData_en_NU.class", "CalendarData_en_NZ.class", "CalendarData_en_PG.class", |
|
98 "CalendarData_en_PH.class", "CalendarData_en_PK.class", "CalendarData_en_PN.class", |
|
99 "CalendarData_en_PR.class", "CalendarData_en_PW.class", "CalendarData_en_RW.class", |
|
100 "CalendarData_en_SB.class", "CalendarData_en_SC.class", "CalendarData_en_SD.class", |
|
101 "CalendarData_en_SE.class", "CalendarData_en_SG.class", "CalendarData_en_SH.class", |
|
102 "CalendarData_en_SI.class", "CalendarData_en_SL.class", "CalendarData_en_SS.class", |
|
103 "CalendarData_en_SX.class", "CalendarData_en_SZ.class", "CalendarData_en_TC.class", |
|
104 "CalendarData_en_TK.class", "CalendarData_en_TO.class", "CalendarData_en_TT.class", |
|
105 "CalendarData_en_TV.class", "CalendarData_en_TZ.class", "CalendarData_en_UG.class", |
|
106 "CalendarData_en_UM.class", "CalendarData_en_VC.class", "CalendarData_en_VG.class", |
|
107 "CalendarData_en_VI.class", "CalendarData_en_VU.class", "CalendarData_en_WS.class", |
|
108 "CalendarData_en_ZA.class", "CalendarData_en_ZM.class", "CalendarData_en_ZW.class", |
|
109 "CalendarData_es_AR.class", "CalendarData_es_BO.class", "CalendarData_es_BR.class", |
|
110 "CalendarData_es_CL.class", "CalendarData_es_CO.class", "CalendarData_es_CR.class", |
|
111 "CalendarData_es_CU.class", "CalendarData_es_DO.class", "CalendarData_es_EA.class", |
|
112 "CalendarData_es_EC.class", "CalendarData_es_ES.class", "CalendarData_es_GQ.class", |
|
113 "CalendarData_es_GT.class", "CalendarData_es_HN.class", "CalendarData_es_IC.class", |
|
114 "CalendarData_es_MX.class", "CalendarData_es_NI.class", "CalendarData_es_PA.class", |
|
115 "CalendarData_es_PE.class", "CalendarData_es_PH.class", "CalendarData_es_PR.class", |
|
116 "CalendarData_es_PY.class", "CalendarData_es_SV.class", "CalendarData_es_US.class", |
|
117 "CalendarData_es_UY.class", "CalendarData_es_VE.class", "CalendarData_et_EE.class", |
|
118 "CalendarData_eu_ES.class", "CalendarData_ewo_CM.class", "CalendarData_fa_AF.class", |
|
119 "CalendarData_fa_IR.class", "CalendarData_ff_CM.class", "CalendarData_ff_GN.class", |
|
120 "CalendarData_ff_MR.class", "CalendarData_ff_SN.class", "CalendarData_fi_FI.class", |
|
121 "CalendarData_fil_PH.class", "CalendarData_fo_DK.class", "CalendarData_fo_FO.class", |
|
122 "CalendarData_fr_BE.class", "CalendarData_fr_BF.class", "CalendarData_fr_BI.class", |
|
123 "CalendarData_fr_BJ.class", "CalendarData_fr_BL.class", "CalendarData_fr_CA.class", |
|
124 "CalendarData_fr_CD.class", "CalendarData_fr_CF.class", "CalendarData_fr_CG.class", |
|
125 "CalendarData_fr_CH.class", "CalendarData_fr_CI.class", "CalendarData_fr_CM.class", |
|
126 "CalendarData_fr_DJ.class", "CalendarData_fr_DZ.class", "CalendarData_fr_FR.class", |
|
127 "CalendarData_fr_GA.class", "CalendarData_fr_GF.class", "CalendarData_fr_GN.class", |
|
128 "CalendarData_fr_GP.class", "CalendarData_fr_GQ.class", "CalendarData_fr_HT.class", |
|
129 "CalendarData_fr_KM.class", "CalendarData_fr_LU.class", "CalendarData_fr_MA.class", |
|
130 "CalendarData_fr_MC.class", "CalendarData_fr_MF.class", "CalendarData_fr_MG.class", |
|
131 "CalendarData_fr_ML.class", "CalendarData_fr_MQ.class", "CalendarData_fr_MR.class", |
|
132 "CalendarData_fr_MU.class", "CalendarData_fr_NC.class", "CalendarData_fr_NE.class", |
|
133 "CalendarData_fr_PF.class", "CalendarData_fr_PM.class", "CalendarData_fr_RE.class", |
|
134 "CalendarData_fr_RW.class", "CalendarData_fr_SC.class", "CalendarData_fr_SN.class", |
|
135 "CalendarData_fr_SY.class", "CalendarData_fr_TD.class", "CalendarData_fr_TG.class", |
|
136 "CalendarData_fr_TN.class", "CalendarData_fr_VU.class", "CalendarData_fr_WF.class", |
|
137 "CalendarData_fr_YT.class", "CalendarData_fur_IT.class", "CalendarData_fy_NL.class", |
|
138 "CalendarData_ga_IE.class", "CalendarData_gd_GB.class", "CalendarData_gl_ES.class", |
|
139 "CalendarData_gsw_CH.class", "CalendarData_gsw_FR.class", "CalendarData_gsw_LI.class", |
|
140 "CalendarData_gu_IN.class", "CalendarData_guz_KE.class", "CalendarData_gv_IM.class", |
|
141 "CalendarData_ha_GH.class", "CalendarData_ha_NE.class", "CalendarData_ha_NG.class", |
|
142 "CalendarData_haw_US.class", "CalendarData_hi_IN.class", "CalendarData_hr_BA.class", |
|
143 "CalendarData_hr_HR.class", "CalendarData_hsb_DE.class", "CalendarData_hu_HU.class", |
|
144 "CalendarData_hy_AM.class", "CalendarData_ig_NG.class", "CalendarData_ii_CN.class", |
|
145 "CalendarData_in_ID.class", "CalendarData_is_IS.class", "CalendarData_it_CH.class", |
|
146 "CalendarData_it_IT.class", "CalendarData_it_SM.class", "CalendarData_iw_IL.class", |
|
147 "CalendarData_ja_JP.class", "CalendarData_jgo_CM.class", "CalendarData_jmc_TZ.class", |
|
148 "CalendarData_ka_GE.class", "CalendarData_kab_DZ.class", "CalendarData_kam_KE.class", |
|
149 "CalendarData_kde_TZ.class", "CalendarData_kea_CV.class", "CalendarData_khq_ML.class", |
|
150 "CalendarData_ki_KE.class", "CalendarData_kk_KZ.class", "CalendarData_kkj_CM.class", |
|
151 "CalendarData_kl_GL.class", "CalendarData_kln_KE.class", "CalendarData_km_KH.class", |
|
152 "CalendarData_kn_IN.class", "CalendarData_ko_KP.class", "CalendarData_ko_KR.class", |
|
153 "CalendarData_kok_IN.class", "CalendarData_ks_IN.class", "CalendarData_ksb_TZ.class", |
|
154 "CalendarData_ksf_CM.class", "CalendarData_ksh_DE.class", "CalendarData_kw_GB.class", |
|
155 "CalendarData_ky_KG.class", "CalendarData_lag_TZ.class", "CalendarData_lb_LU.class", |
|
156 "CalendarData_lg_UG.class", "CalendarData_lkt_US.class", "CalendarData_ln_AO.class", |
|
157 "CalendarData_ln_CD.class", "CalendarData_ln_CF.class", "CalendarData_ln_CG.class", |
|
158 "CalendarData_lo_LA.class", "CalendarData_lrc_IQ.class", "CalendarData_lrc_IR.class", |
|
159 "CalendarData_lt_LT.class", "CalendarData_lu_CD.class", "CalendarData_luo_KE.class", |
|
160 "CalendarData_luy_KE.class", "CalendarData_lv_LV.class", "CalendarData_mas_KE.class", |
|
161 "CalendarData_mas_TZ.class", "CalendarData_mer_KE.class", "CalendarData_mfe_MU.class", |
|
162 "CalendarData_mg_MG.class", "CalendarData_mgh_MZ.class", "CalendarData_mgo_CM.class", |
|
163 "CalendarData_mk_MK.class", "CalendarData_ml_IN.class", "CalendarData_mn_MN.class", |
|
164 "CalendarData_mr_IN.class", "CalendarData_ms_BN.class", "CalendarData_ms_MY.class", |
|
165 "CalendarData_ms_SG.class", "CalendarData_mt_MT.class", "CalendarData_mua_CM.class", |
|
166 "CalendarData_my_MM.class", "CalendarData_mzn_IR.class", "CalendarData_naq_NA.class", |
|
167 "CalendarData_nb_NO.class", "CalendarData_nb_SJ.class", "CalendarData_nd_ZW.class", |
|
168 "CalendarData_ne_IN.class", "CalendarData_ne_NP.class", "CalendarData_nl_AW.class", |
|
169 "CalendarData_nl_BE.class", "CalendarData_nl_BQ.class", "CalendarData_nl_CW.class", |
|
170 "CalendarData_nl_NL.class", "CalendarData_nl_SR.class", "CalendarData_nl_SX.class", |
|
171 "CalendarData_nmg_CM.class", "CalendarData_nnh_CM.class", "CalendarData_nus_SS.class", |
|
172 "CalendarData_nyn_UG.class", "CalendarData_om_ET.class", "CalendarData_om_KE.class", |
|
173 "CalendarData_or_IN.class", "CalendarData_os_GE.class", "CalendarData_os_RU.class", |
|
174 "CalendarData_pa_Arab_PK.class", "CalendarData_pa_IN.class", "CalendarData_pa_PK.class", |
|
175 "CalendarData_pl_PL.class", "CalendarData_ps_AF.class", "CalendarData_pt_AO.class", |
|
176 "CalendarData_pt_BR.class", "CalendarData_pt_CV.class", "CalendarData_pt_GQ.class", |
|
177 "CalendarData_pt_GW.class", "CalendarData_pt_MO.class", "CalendarData_pt_MZ.class", |
|
178 "CalendarData_pt_PT.class", "CalendarData_pt_ST.class", "CalendarData_pt_TL.class", |
|
179 "CalendarData_qu_BO.class", "CalendarData_qu_EC.class", "CalendarData_qu_PE.class", |
|
180 "CalendarData_rm_CH.class", "CalendarData_rn_BI.class", "CalendarData_ro_MD.class", |
|
181 "CalendarData_ro_RO.class", "CalendarData_rof_TZ.class", "CalendarData_ru_BY.class", |
|
182 "CalendarData_ru_KG.class", "CalendarData_ru_KZ.class", "CalendarData_ru_MD.class", |
|
183 "CalendarData_ru_RU.class", "CalendarData_ru_UA.class", "CalendarData_rw_RW.class", |
|
184 "CalendarData_rwk_TZ.class", "CalendarData_sah_RU.class", "CalendarData_saq_KE.class", |
|
185 "CalendarData_sbp_TZ.class", "CalendarData_se_FI.class", "CalendarData_se_NO.class", |
|
186 "CalendarData_se_SE.class", "CalendarData_seh_MZ.class", "CalendarData_ses_ML.class", |
|
187 "CalendarData_sg_CF.class", "CalendarData_shi_Latn_MA.class", "CalendarData_shi_MA.class", |
|
188 "CalendarData_si_LK.class", "CalendarData_sk_SK.class", "CalendarData_sl_SI.class", |
|
189 "CalendarData_smn_FI.class", "CalendarData_sn_ZW.class", "CalendarData_so_DJ.class", |
|
190 "CalendarData_so_ET.class", "CalendarData_so_KE.class", "CalendarData_so_SO.class", |
|
191 "CalendarData_sq_AL.class", "CalendarData_sq_MK.class", "CalendarData_sq_XK.class", |
|
192 "CalendarData_sr_BA.class", "CalendarData_sr_Latn_BA.class", "CalendarData_sr_Latn_ME.class", |
|
193 "CalendarData_sr_Latn_RS.class", "CalendarData_sr_Latn_XK.class", "CalendarData_sr_ME.class", |
|
194 "CalendarData_sr_RS.class", "CalendarData_sr_XK.class", "CalendarData_sv_AX.class", |
|
195 "CalendarData_sv_FI.class", "CalendarData_sv_SE.class", "CalendarData_sw_CD.class", |
|
196 "CalendarData_sw_KE.class", "CalendarData_sw_TZ.class", "CalendarData_sw_UG.class", |
|
197 "CalendarData_ta_IN.class", "CalendarData_ta_LK.class", "CalendarData_ta_MY.class", |
|
198 "CalendarData_ta_SG.class", "CalendarData_te_IN.class", "CalendarData_teo_KE.class", |
|
199 "CalendarData_teo_UG.class", "CalendarData_th_TH.class", "CalendarData_ti_ER.class", |
|
200 "CalendarData_ti_ET.class", "CalendarData_tk_TM.class", "CalendarData_to_TO.class", |
|
201 "CalendarData_tr_CY.class", "CalendarData_tr_TR.class", "CalendarData_twq_NE.class", |
|
202 "CalendarData_tzm_MA.class", "CalendarData_ug_CN.class", "CalendarData_uk_UA.class", |
|
203 "CalendarData_ur_IN.class", "CalendarData_ur_PK.class", "CalendarData_uz_AF.class", |
|
204 "CalendarData_uz_Arab_AF.class", "CalendarData_uz_Cyrl_UZ.class", "CalendarData_uz_UZ.class", |
|
205 "CalendarData_vai_LR.class", "CalendarData_vai_Latn_LR.class", "CalendarData_vi_VN.class", |
|
206 "CalendarData_vun_TZ.class", "CalendarData_wae_CH.class", "CalendarData_xog_UG.class", |
|
207 "CalendarData_yav_CM.class", "CalendarData_yo_BJ.class", "CalendarData_yo_NG.class", |
|
208 "CalendarData_yue_HK.class", "CalendarData_zgh_MA.class", "CalendarData_zh_CN.class", |
|
209 "CalendarData_zh_HK.class", "CalendarData_zh_Hant_HK.class", "CalendarData_zh_Hant_TW.class", |
|
210 "CalendarData_zh_MO.class", "CalendarData_zh_SG.class", "CalendarData_zh_TW.class", "CalendarData_zu_ZA.class"); |
|
211 |
|
212 private static Set<String> removedBundles = Set.of( |
|
213 "CalendarData_az_Latn_AZ.class", "CalendarData_bs_Latn_BA.class", |
|
214 "CalendarData_pa_Guru_IN.class", "CalendarData_shi_Tfng_MA.class", |
|
215 "CalendarData_sr_Cyrl_BA.class", "CalendarData_sr_Cyrl_ME.class", |
|
216 "CalendarData_sr_Cyrl_RS.class", "CalendarData_sr_Cyrl_XK.class", |
|
217 "CalendarData_uz_Latn_UZ.class", "CalendarData_vai_Vaii_LR.class", |
|
218 "CalendarData_zh_Hans_CN.class", "CalendarData_zh_Hans_HK.class", |
|
219 "CalendarData_zh_Hans_MO.class", "CalendarData_zh_Hans_SG.class"); |
|
220 |
|
221 private static Set<String> addedBundles = Set.of( |
|
222 "CalendarData_az_AZ.class", "CalendarData_bs_BA.class", |
|
223 "CalendarData_pa_IN.class", "CalendarData_pa_PK.class", |
|
224 "CalendarData_shi_MA.class", "CalendarData_sr_BA.class", |
|
225 "CalendarData_sr_ME.class", "CalendarData_sr_RS.class", |
|
226 "CalendarData_sr_XK.class", "CalendarData_uz_UZ.class", |
|
227 "CalendarData_uz_AF.class", "CalendarData_vai_LR.class", |
|
228 "CalendarData_zh_CN.class", "CalendarData_zh_HK.class", |
|
229 "CalendarData_zh_MO.class", "CalendarData_zh_SG.class", "CalendarData_zh_TW.class"); |
|
230 |
|
231 private static Set<String> retrievedBundles = Collections.EMPTY_SET; |
|
232 |
|
233 public static void main(String[] args) throws Exception { |
|
234 FileSystem fs = FileSystems.newFileSystem(URI.create("jrt:/"), |
|
235 Collections.emptyMap()); |
|
236 Path path = fs.getPath("/", "modules", "jdk.localedata", "sun/util/resources/cldr/ext"); |
|
237 retrievedBundles = Files.walk(path) |
|
238 .map(p -> p.getFileName().toString()) |
|
239 .filter(p -> p.startsWith("CalendarData_")) |
|
240 .collect(Collectors.toSet()); |
|
241 if (!retrievedBundles.equals(expectedBundles)) { |
|
242 checkAddedBundles(); |
|
243 checkRemovedBundles(); |
|
244 Set<String> retrievedBundlesSet = new HashSet<>(retrievedBundles); |
|
245 retrievedBundlesSet.removeAll(expectedBundles); |
|
246 throw new RuntimeException("Unexpected " |
|
247 + " bundles " + retrievedBundlesSet + " are present in jdk.localedata module "); |
|
248 |
|
249 } |
|
250 } |
|
251 |
|
252 /** |
|
253 * This method checks that bundles which have been additionally generated |
|
254 * are present in jdk.localedata module. |
|
255 */ |
|
256 private static void checkAddedBundles() { |
|
257 Set<String> addedBundlesSet = new HashSet<>(addedBundles); |
|
258 addedBundlesSet.removeAll(retrievedBundles); |
|
259 if (!addedBundlesSet.isEmpty()) { |
|
260 throw new RuntimeException("expected CalendarData" |
|
261 + " bundles " + addedBundlesSet + " are not present in jdk.localedata module "); |
|
262 } |
|
263 |
|
264 } |
|
265 |
|
266 /** |
|
267 * This method checks that bundles which have been removed are not present |
|
268 * in jdk.localedata module. |
|
269 */ |
|
270 private static void checkRemovedBundles() { |
|
271 Set<String> unexpectedBundles = removedBundles.stream(). |
|
272 filter(retrievedBundles::contains).collect(Collectors.toSet()); |
|
273 if (!unexpectedBundles.isEmpty()) { |
|
274 throw new RuntimeException("Unexpected CalendarData" |
|
275 + " bundles " + unexpectedBundles + " are present in jdk.localedata module "); |
|
276 } |
|
277 } |
|
278 } |