@@ -834,15 +834,15 @@ void DateIntervalFormatTest::testFormat() {
834
834
" zh" , " CE 2007 10 10 10:10:10" , " CE 2008 10 10 10:10:10" , " EEEEdMMMMy" , " 2007\\ u5e7410\\ u670810\\ u65e5\\ u661f\\ u671f\\ u4e09\\ u81f32008\\ u5e7410\\ u670810\\ u65e5\\ u661f\\ u671f\\ u4e94" ,
835
835
836
836
837
- " zh" , " CE 2007 10 10 10:10:10" , " CE 2007 11 10 10:10:10" , " dMMMMy" , " 2007\\ u5e7410 \\ u670810\\ u65e5 \\ u81f311 \\ u670810\\ u65e5 " ,
837
+ " zh" , " CE 2007 10 10 10:10:10" , " CE 2007 11 10 10:10:10" , " dMMMMy" , " 2007\\ u5E74 \\ u5341 \\ u670810\\ u65E5 \\ u2009 \\ u2013 \\ u2009 \\ u5341 \\ u4E00 \\ u670810\\ u65E5 " ,
838
838
839
839
840
- " zh" , " CE 2007 10 10 10:10:10" , " CE 2007 11 10 10:10:10" , " MMMMy" , " 2007\\ u5e7410\\ u6708\\ u81f311 \\ u6708" ,
840
+ " zh" , " CE 2007 10 10 10:10:10" , " CE 2007 11 10 10:10:10" , " MMMMy" , " 2007\\ u5e7410\\ u6708 \\ u2013 11 \\ u6708" ,
841
841
842
842
843
843
" zh" , " CE 2007 10 10 10:10:10" , " CE 2007 11 10 10:10:10" , " hmv" , " 2007/10/10 \\ u6D1B\\ u6749\\ u77F6\\ u65F6\\ u95F4 \\ u4E0A\\ u534810:10 \\ u2013 2007/11/10 \\ u6D1B\\ u6749\\ u77F6\\ u65F6\\ u95F4 \\ u4E0A\\ u534810:10" ,
844
844
845
- " zh" , " CE 2007 11 10 10:10:10" , " CE 2007 11 20 10:10:10" , " EEEEdMMMMy" , " 2007\\ u5e7411 \\ u670810\\ u65e5 \\ u661f \\ u671f \\ u516d \\ u81f320 \\ u65e5 \\ u661f \\ u671f \\ u4e8c " ,
845
+ " zh" , " CE 2007 11 10 10:10:10" , " CE 2007 11 20 10:10:10" , " EEEEdMMMMy" , " 2007\\ u5E74 \\ u5341 \\ u4E00 \\ u670810\\ u65E5 \\ u661F \\ u671F \\ u516D \\ u2009 \\ u2013 \\ u2009 \\ u5341 \\ u4E00 \\ u670820 \\ u65E5 \\ u661F \\ u671F \\ u4E8C " ,
846
846
847
847
848
848
" zh" , " CE 2007 11 10 10:10:10" , " CE 2007 11 20 10:10:10" , " dMMMM" , " 11\\ u670810\\ u65e5\\ u81f320\\ u65e5" ,
@@ -1019,14 +1019,14 @@ void DateIntervalFormatTest::testFormat() {
1019
1019
" th" , " BE 2550 10 10 10:10:10" , " BE 2551 10 10 10:10:10" , " MMMy" , " \\ u0E15.\\ u0E04. 2550 \\ u2013 \\ u0E15.\\ u0E04. 2551" ,
1020
1020
1021
1021
1022
- " th" , " BE 2550 10 10 10:10:10" , " BE 2551 10 10 10:10:10" , " EdMy" , " \\ u0E1E. 10/10/2550 \\ u2013 \\ u0E28. 10/10/2551" ,
1022
+ " th" , " BE 2550 10 10 10:10:10" , " BE 2551 10 10 10:10:10" , " EdMy" , " \\ u0E1E\\ u0E38 \\ u0E18 10/10/2550 \\ u2013 \\ u0E28\\ u0E38 \\ u0E01 \\ u0E23 \\ u0E4C 10/10/2551" ,
1023
1023
1024
1024
" th" , " BE 2550 10 10 10:10:10" , " BE 2551 10 10 10:10:10" , " dMy" , " 10/10/2550 \\ u2013 10/10/2551" ,
1025
1025
1026
1026
1027
1027
" th" , " BE 2550 10 10 10:10:10" , " BE 2551 10 10 10:10:10" , " My" , " 10/2550 \\ u2013 10/2551" ,
1028
1028
1029
- " th" , " BE 2550 10 10 10:10:10" , " BE 2551 10 10 10:10:10" , " EdM" , " \\ u0E1E. 10/10/2550 \\ u2013 \\ u0E28. 10/10/2551" ,
1029
+ " th" , " BE 2550 10 10 10:10:10" , " BE 2551 10 10 10:10:10" , " EdM" , " \\ u0E1E\\ u0E38 \\ u0E18 10/10/2550 \\ u2013 \\ u0E28\\ u0E38 \\ u0E01 \\ u0E23 \\ u0E4C 10/10/2551" ,
1030
1030
1031
1031
1032
1032
" th" , " BE 2550 10 10 10:10:10" , " BE 2551 10 10 10:10:10" , " y" , " 2550\\ u20132551" ,
@@ -1245,12 +1245,31 @@ void DateIntervalFormatTest::expect(const char** data, int32_t data_length) {
1245
1245
DateInterval dtitv (date, date_2);
1246
1246
1247
1247
const UnicodeString& oneSkeleton (ctou (data[i++]));
1248
-
1248
+
1249
1249
DateIntervalFormat* dtitvfmt = DateIntervalFormat::createInstance (oneSkeleton, loc, ec);
1250
1250
if (!assertSuccess (" createInstance(skeleton) in expect" , ec)) return ;
1251
1251
FieldPosition pos (FieldPosition::DONT_CARE);
1252
1252
dtitvfmt->format (&dtitv, str.remove (), pos, ec);
1253
1253
if (!assertSuccess (" format in expect" , ec)) return ;
1254
+ if (strcmp (locName, " ja-u-ca-japanese" ) == 0 &&
1255
+ logKnownIssue (" ICU-23182" , " Japanese calendar formatting" )) {
1256
+ i++;
1257
+ continue ;
1258
+ }
1259
+
1260
+ if (strcmp (locName, " de" ) == 0 &&
1261
+ (oneSkeleton == UnicodeString (u" hv" ,-1 ) || oneSkeleton == UnicodeString (u" hz" ,-1 )) &&
1262
+ logKnownIssue (" ICU-23185" , " Date time formatting with hz and hv needs revisiting" )) {
1263
+ i++;
1264
+ continue ;
1265
+ }
1266
+
1267
+ if (strcmp (locName, " zh" ) == 0 &&
1268
+ (oneSkeleton == UnicodeString (u" hmv" ,-1 ) || oneSkeleton == UnicodeString (u" hmz" ,-1 )) &&
1269
+ logKnownIssue (" ICU-23185" , " Date time formatting with hz and hv needs revisiting" )) {
1270
+ i++;
1271
+ continue ;
1272
+ }
1254
1273
assertEquals (UnicodeString (" \" " ) + locName + " \\ " + oneSkeleton + " \\ " + ctou (datestr) + " \\ " + ctou (datestr_2) + " \" " , ctou (data[i++]), str);
1255
1274
1256
1275
logln (" interval date:" + str + " \" " + locName + " \" , "
@@ -2295,26 +2314,30 @@ void DateIntervalFormatTest::testTicket21222ROCEraDiff() {
2295
2314
2296
2315
formatted = roc->formatToValue (bothAfterMG, status);
2297
2316
assertEquals (" roc calendar - both dates in MG Era" ,
2298
- u" 民國1/1/2 上午6時 \u2009\u2013\u2009 民國2/1/2 上午6時 " ,
2317
+ u" 民國1/1/2上午6時 \u2009\u2013\u2009 民國2/1/2上午6時 " ,
2299
2318
formatted.toString (status));
2300
2319
getCategoryAndField (formatted, expectedCategory,
2301
2320
expectedField, status);
2302
2321
2303
2322
formatted = roc->formatToValue (beforeAfterMG, status);
2304
2323
assertEquals (" roc calendar - prior MG Era and in MG Era" ,
2305
- u" 民國前1/1/2 上午6時 \u2009\u2013\u2009 民國2/1/2 上午6時 " ,
2324
+ u" 民國前1/1/2上午6時 \u2009\u2013\u2009 民國2/1/2上午6時 " ,
2306
2325
formatted.toString (status));
2307
2326
verifyCategoryAndField (formatted, expectedCategory, expectedField, status);
2308
2327
2309
2328
formatted = roc->formatToValue (bothBeforeMG, status);
2310
2329
assertEquals (" roc calendar - both dates prior MG Era" ,
2311
- u" 民國前2/1/2 上午6時 \u2009\u2013\u2009 民國前1/1/2 上午6時 " ,
2330
+ u" 民國前2/1/2上午6時 \u2009\u2013\u2009 民國前1/1/2上午6時 " ,
2312
2331
formatted.toString (status));
2313
2332
verifyCategoryAndField (formatted, expectedCategory, expectedField, status);
2314
2333
}
2315
2334
2316
2335
void DateIntervalFormatTest::testTicket21222JapaneseEraDiff () {
2317
2336
IcuTestErrorCode status (*this , " testTicket21222JapaneseEraDiff" );
2337
+
2338
+ if (logKnownIssue (" ICU-23182" , " Japanese calendar formatting" )) {
2339
+ return ;
2340
+ }
2318
2341
2319
2342
LocalPointer<Calendar> cal (Calendar::createInstance (*TimeZone::getGMT (), status));
2320
2343
if (U_FAILURE (status)) {
0 commit comments