@@ -5189,85 +5189,85 @@ void DateFormatTest::TestFlexibleDayPeriod() {
5189
5189
sdf.applyPattern (UnicodeString (" hh:mm:ss BBB" ));
5190
5190
5191
5191
// assertEquals("hh:mm:ss BBB | 00:00:00", "12:00:00 midnight", sdf.format(k000000, out.remove()));
5192
- assertEquals (" hh:mm:ss BBB | 00:00:00" , " 12:00:00 at night " , sdf.format (k000000, out.remove ()));
5193
- assertEquals (" hh:mm:ss BBB | 00:00:30" , " 12:00:30 at night " , sdf.format (k000030, out.remove ()));
5194
- assertEquals (" hh:mm:ss BBB | 00:30:00" , " 12:30:00 at night " , sdf.format (k003000, out.remove ()));
5192
+ assertEquals (" hh:mm:ss BBB | 00:00:00" , " 12:00:00 in the morning " , sdf.format (k000000, out.remove ()));
5193
+ assertEquals (" hh:mm:ss BBB | 00:00:30" , " 12:00:30 in the morning " , sdf.format (k000030, out.remove ()));
5194
+ assertEquals (" hh:mm:ss BBB | 00:30:00" , " 12:30:00 in the morning " , sdf.format (k003000, out.remove ()));
5195
5195
assertEquals (" hh:mm:ss BBB | 06:00:00" , " 06:00:00 in the morning" , sdf.format (k060000, out.remove ()));
5196
5196
assertEquals (" hh:mm:ss BBB | 12:00:00" , " 12:00:00 noon" , sdf.format (k120000, out.remove ()));
5197
5197
assertEquals (" hh:mm:ss BBB | 18:00:00" , " 06:00:00 in the evening" , sdf.format (k180000, out.remove ()));
5198
5198
5199
5199
sdf.applyPattern (UnicodeString (" hh:mm BBB" ));
5200
5200
5201
5201
// assertEquals("hh:mm BBB | 00:00:00", "12:00 midnight", sdf.format(k000000, out.remove()));
5202
- assertEquals (" hh:mm BBB | 00:00:00" , " 12:00 at night " , sdf.format (k000000, out.remove ()));
5202
+ assertEquals (" hh:mm BBB | 00:00:00" , " 12:00 in the morning " , sdf.format (k000000, out.remove ()));
5203
5203
// assertEquals("hh:mm BBB | 00:00:30", "12:00 midnight", sdf.format(k000030, out.remove()));
5204
- assertEquals (" hh:mm BBB | 00:00:00" , " 12:00 at night " , sdf.format (k000000, out.remove ()));
5205
- assertEquals (" hh:mm BBB | 00:30:00" , " 12:30 at night " , sdf.format (k003000, out.remove ()));
5204
+ assertEquals (" hh:mm BBB | 00:00:00" , " 12:00 in the morning " , sdf.format (k000000, out.remove ()));
5205
+ assertEquals (" hh:mm BBB | 00:30:00" , " 12:30 in the morning " , sdf.format (k003000, out.remove ()));
5206
5206
5207
5207
sdf.applyPattern (UnicodeString (" hh BBB" ));
5208
5208
5209
5209
// assertEquals("hh BBB | 00:00:00", "12 midnight", sdf.format(k000000, out.remove()));
5210
- assertEquals (" hh BBB | 00:00:30" , " 12 at night " , sdf.format (k000030, out.remove ()));
5210
+ assertEquals (" hh BBB | 00:00:30" , " 12 in the morning " , sdf.format (k000030, out.remove ()));
5211
5211
// assertEquals("hh BBB | 00:00:30", "12 midnight", sdf.format(k000030, out.remove()));
5212
- assertEquals (" hh BBB | 00:00:30" , " 12 at night " , sdf.format (k000030, out.remove ()));
5212
+ assertEquals (" hh BBB | 00:00:30" , " 12 in the morning " , sdf.format (k000030, out.remove ()));
5213
5213
// assertEquals("hh BBB | 00:30:00", "12 midnight", sdf.format(k003000, out.remove()));
5214
- assertEquals (" hh BBB | 00:30:00" , " 12 at night " , sdf.format (k003000, out.remove ()));
5214
+ assertEquals (" hh BBB | 00:30:00" , " 12 in the morning " , sdf.format (k003000, out.remove ()));
5215
5215
5216
5216
// Wide.
5217
5217
sdf.applyPattern (UnicodeString (" hh:mm:ss BBBB" ));
5218
5218
5219
5219
// assertEquals("hh:mm:ss BBBB | 00:00:00", "12:00:00 midnight", sdf.format(k000000, out.remove()));
5220
- assertEquals (" hh:mm:ss BBBB | 00:00:00" , " 12:00:00 at night " , sdf.format (k000000, out.remove ()));
5221
- assertEquals (" hh:mm:ss BBBB | 00:00:30" , " 12:00:30 at night " , sdf.format (k000030, out.remove ()));
5222
- assertEquals (" hh:mm:ss BBBB | 00:30:00" , " 12:30:00 at night " , sdf.format (k003000, out.remove ()));
5220
+ assertEquals (" hh:mm:ss BBBB | 00:00:00" , " 12:00:00 in the morning " , sdf.format (k000000, out.remove ()));
5221
+ assertEquals (" hh:mm:ss BBBB | 00:00:30" , " 12:00:30 in the morning " , sdf.format (k000030, out.remove ()));
5222
+ assertEquals (" hh:mm:ss BBBB | 00:30:00" , " 12:30:00 in the morning " , sdf.format (k003000, out.remove ()));
5223
5223
assertEquals (" hh:mm:ss BBBB | 06:00:00" , " 06:00:00 in the morning" , sdf.format (k060000, out.remove ()));
5224
5224
assertEquals (" hh:mm:ss BBBB | 12:00:00" , " 12:00:00 noon" , sdf.format (k120000, out.remove ()));
5225
5225
assertEquals (" hh:mm:ss BBBB | 18:00:00" , " 06:00:00 in the evening" , sdf.format (k180000, out.remove ()));
5226
5226
5227
5227
sdf.applyPattern (UnicodeString (" hh:mm BBBB" ));
5228
5228
5229
5229
// assertEquals("hh:mm BBBB | 00:00:00", "12:00 midnight", sdf.format(k000000, out.remove()));
5230
- assertEquals (" hh:mm BBBB | 00:00:00" , " 12:00 at night " , sdf.format (k000000, out.remove ()));
5230
+ assertEquals (" hh:mm BBBB | 00:00:00" , " 12:00 in the morning " , sdf.format (k000000, out.remove ()));
5231
5231
// assertEquals("hh:mm BBBB | 00:00:30", "12:00 midnight", sdf.format(k000030, out.remove()));
5232
- assertEquals (" hh:mm BBBB | 00:00:30" , " 12:00 at night " , sdf.format (k000030, out.remove ()));
5233
- assertEquals (" hh:mm BBBB | 00:30:00" , " 12:30 at night " , sdf.format (k003000, out.remove ()));
5232
+ assertEquals (" hh:mm BBBB | 00:00:30" , " 12:00 in the morning " , sdf.format (k000030, out.remove ()));
5233
+ assertEquals (" hh:mm BBBB | 00:30:00" , " 12:30 in the morning " , sdf.format (k003000, out.remove ()));
5234
5234
5235
5235
sdf.applyPattern (UnicodeString (" hh BBBB" ));
5236
5236
5237
5237
// assertEquals("hh BBBB | 00:00:00", "12 midnight", sdf.format(k000000, out.remove()));
5238
- assertEquals (" hh BBBB | 00:00:00" , " 12 at night " , sdf.format (k000000, out.remove ()));
5238
+ assertEquals (" hh BBBB | 00:00:00" , " 12 in the morning " , sdf.format (k000000, out.remove ()));
5239
5239
// assertEquals("hh BBBB | 00:00:30", "12 midnight", sdf.format(k000030, out.remove()));
5240
- assertEquals (" hh BBBB | 00:00:00" , " 12 at night " , sdf.format (k000000, out.remove ()));
5240
+ assertEquals (" hh BBBB | 00:00:00" , " 12 in the morning " , sdf.format (k000000, out.remove ()));
5241
5241
// assertEquals("hh BBBB | 00:80:00", "12 midnight", sdf.format(k003000, out.remove()));
5242
- assertEquals (" hh BBBB | 00:00:00" , " 12 at night " , sdf.format (k000000, out.remove ()));
5242
+ assertEquals (" hh BBBB | 00:00:00" , " 12 in the morning " , sdf.format (k000000, out.remove ()));
5243
5243
5244
5244
// Narrow.
5245
5245
sdf.applyPattern (UnicodeString (" hh:mm:ss BBBBB" ));
5246
5246
5247
5247
// assertEquals("hh:mm:ss BBBBB | 00:00:00", "12:00:00 mi", sdf.format(k000000, out.remove()));
5248
- assertEquals (" hh:mm:ss BBBBB | 00:00:00" , " 12:00:00 at night " , sdf.format (k000000, out.remove ()));
5249
- assertEquals (" hh:mm:ss BBBBB | 00:00:30" , " 12:00:30 at night " , sdf.format (k000030, out.remove ()));
5250
- assertEquals (" hh:mm:ss BBBBB | 00:30:00" , " 12:30:00 at night " , sdf.format (k003000, out.remove ()));
5248
+ assertEquals (" hh:mm:ss BBBBB | 00:00:00" , " 12:00:00 in the morning " , sdf.format (k000000, out.remove ()));
5249
+ assertEquals (" hh:mm:ss BBBBB | 00:00:30" , " 12:00:30 in the morning " , sdf.format (k000030, out.remove ()));
5250
+ assertEquals (" hh:mm:ss BBBBB | 00:30:00" , " 12:30:00 in the morning " , sdf.format (k003000, out.remove ()));
5251
5251
assertEquals (" hh:mm:ss BBBBB | 06:00:00" , " 06:00:00 in the morning" , sdf.format (k060000, out.remove ()));
5252
5252
assertEquals (" hh:mm:ss BBBBB | 12:00:00" , " 12:00:00 n" , sdf.format (k120000, out.remove ()));
5253
5253
assertEquals (" hh:mm:ss BBBBB | 18:00:00" , " 06:00:00 in the evening" , sdf.format (k180000, out.remove ()));
5254
5254
5255
5255
sdf.applyPattern (UnicodeString (" hh:mm BBBBB" ));
5256
5256
5257
5257
// assertEquals("hh:mm BBBBB | 00:00:00", "12:00 mi", sdf.format(k000000, out.remove()));
5258
- assertEquals (" hh:mm BBBBB | 00:00:00" , " 12:00 at night " , sdf.format (k000000, out.remove ()));
5258
+ assertEquals (" hh:mm BBBBB | 00:00:00" , " 12:00 in the morning " , sdf.format (k000000, out.remove ()));
5259
5259
// assertEquals("hh:mm BBBBB | 00:00:30", "12:00 mi", sdf.format(k000030, out.remove()));
5260
- assertEquals (" hh:mm BBBBB | 00:00:30" , " 12:00 at night " , sdf.format (k000030, out.remove ()));
5261
- assertEquals (" hh:mm BBBBB | 00:30:00" , " 12:30 at night " , sdf.format (k003000, out.remove ()));
5260
+ assertEquals (" hh:mm BBBBB | 00:00:30" , " 12:00 in the morning " , sdf.format (k000030, out.remove ()));
5261
+ assertEquals (" hh:mm BBBBB | 00:30:00" , " 12:30 in the morning " , sdf.format (k003000, out.remove ()));
5262
5262
5263
5263
sdf.applyPattern (UnicodeString (" hh BBBBB" ));
5264
5264
5265
5265
// assertEquals("hh BBBBB | 00:00:00", "12 mi", sdf.format(k000000, out.remove()));
5266
- assertEquals (" hh BBBBB | 00:00:00" , " 12 at night " , sdf.format (k000000, out.remove ()));
5266
+ assertEquals (" hh BBBBB | 00:00:00" , " 12 in the morning " , sdf.format (k000000, out.remove ()));
5267
5267
// assertEquals("hh BBBBB | 00:00:30", "12 mi", sdf.format(k000030, out.remove()));
5268
- assertEquals (" hh BBBBB | 00:00:30" , " 12 at night " , sdf.format (k000030, out.remove ()));
5268
+ assertEquals (" hh BBBBB | 00:00:30" , " 12 in the morning " , sdf.format (k000030, out.remove ()));
5269
5269
// assertEquals("hh BBBBB | 00:30:00", "12 mi", sdf.format(k003000, out.remove()));
5270
- assertEquals (" hh BBBBB | 00:30:00" , " 12 at night " , sdf.format (k003000, out.remove ()));
5270
+ assertEquals (" hh BBBBB | 00:30:00" , " 12 in the morning " , sdf.format (k003000, out.remove ()));
5271
5271
}
5272
5272
5273
5273
void DateFormatTest::TestDayPeriodWithLocales () {
@@ -5344,9 +5344,9 @@ void DateFormatTest::TestDayPeriodWithLocales() {
5344
5344
5345
5345
// assertEquals("hh:mm:ss BBBB | 00:00:00 | en_US", "12:00:00 midnight",
5346
5346
// sdf.format(k000000, out.remove()));
5347
- assertEquals (" hh:mm:ss BBBB | 00:00:00 | en_US" , " 12:00:00 at night " ,
5347
+ assertEquals (" hh:mm:ss BBBB | 00:00:00 | en_US" , " 12:00:00 in the morning " ,
5348
5348
sdf.format (k000000, out.remove ()));
5349
- assertEquals (" hh:mm:ss BBBB | 01:00:00 | en_US" , " 01:00:00 at night " ,
5349
+ assertEquals (" hh:mm:ss BBBB | 01:00:00 | en_US" , " 01:00:00 in the morning " ,
5350
5350
sdf.format (k010000, out.remove ()));
5351
5351
assertEquals (" hh:mm:ss BBBB | 12:00:00 | en_US" , " 12:00:00 noon" ,
5352
5352
sdf.format (k120000, out.remove ()));
@@ -5374,7 +5374,7 @@ void DateFormatTest::TestDayPeriodWithLocales() {
5374
5374
sdf.setTimeZone (*tz);
5375
5375
5376
5376
sdf.applyPattern (UnicodeString (" hh:mm:ss BBBB" ));
5377
- assertEquals (" hh:mm:ss BBBB | 01:00:00 | en@calendar=buddhist" , " 01:00:00 at night " ,
5377
+ assertEquals (" hh:mm:ss BBBB | 01:00:00 | en@calendar=buddhist" , " 01:00:00 in the morning " ,
5378
5378
sdf.format (k010000, out.remove ()));
5379
5379
}
5380
5380
@@ -5414,7 +5414,7 @@ void DateFormatTest::TestMinuteSecondFieldsInOddPlaces() {
5414
5414
5415
5415
// assertEquals("hh:mm 'ss' BBBB | 00:00:30", "12:00 ss midnight",
5416
5416
// sdf.format(k000030, out.remove()));
5417
- assertEquals (" hh:mm 'ss' BBBB | 00:00:30" , " 12:00 ss at night " ,
5417
+ assertEquals (" hh:mm 'ss' BBBB | 00:00:30" , " 12:00 ss in the morning " ,
5418
5418
sdf.format (k000030, out.remove ()));
5419
5419
assertEquals (" hh:mm 'ss' BBBB | 06:00:30" , " 06:00 ss in the morning" ,
5420
5420
sdf.format (k060030, out.remove ()));
@@ -5433,7 +5433,7 @@ void DateFormatTest::TestMinuteSecondFieldsInOddPlaces() {
5433
5433
5434
5434
// assertEquals("hh 'mm ss' BBBB | 00:30:00", "12 mm ss midnight",
5435
5435
// sdf.format(k003000, out.remove()));
5436
- assertEquals (" hh 'mm ss' BBBB | 00:30:00" , " 12 mm ss at night " ,
5436
+ assertEquals (" hh 'mm ss' BBBB | 00:30:00" , " 12 mm ss in the morning " ,
5437
5437
sdf.format (k003000, out.remove ()));
5438
5438
assertEquals (" hh 'mm ss' BBBB | 06:30:00" , " 06 mm ss in the morning" ,
5439
5439
sdf.format (k063000, out.remove ()));
@@ -5454,28 +5454,28 @@ void DateFormatTest::TestMinuteSecondFieldsInOddPlaces() {
5454
5454
5455
5455
// assertEquals("BBBB hh:mm:ss | 00:00:00", "midnight 12:00:00",
5456
5456
// sdf.format(k000000, out.remove()));
5457
- assertEquals (" BBBB hh:mm:ss | 00:00:00" , " at night 12:00:00" ,
5457
+ assertEquals (" BBBB hh:mm:ss | 00:00:00" , " in the morning 12:00:00" ,
5458
5458
sdf.format (k000000, out.remove ()));
5459
- assertEquals (" BBBB hh:mm:ss | 00:00:30" , " at night 12:00:30" ,
5459
+ assertEquals (" BBBB hh:mm:ss | 00:00:30" , " in the morning 12:00:30" ,
5460
5460
sdf.format (k000030, out.remove ()));
5461
- assertEquals (" BBBB hh:mm:ss | 00:30:00" , " at night 12:30:00" ,
5461
+ assertEquals (" BBBB hh:mm:ss | 00:30:00" , " in the morning 12:30:00" ,
5462
5462
sdf.format (k003000, out.remove ()));
5463
5463
5464
5464
// Confirm applyPattern() reparses the pattern string.
5465
5465
sdf.applyPattern (UnicodeString (" BBBB hh" ));
5466
5466
// assertEquals("BBBB hh | 00:00:30", "midnight 12",
5467
5467
// sdf.format(k000030, out.remove()));
5468
- assertEquals (" BBBB hh | 00:00:30" , " at night 12" ,
5468
+ assertEquals (" BBBB hh | 00:00:30" , " in the morning 12" ,
5469
5469
sdf.format (k000030, out.remove ()));
5470
5470
5471
5471
sdf.applyPattern (UnicodeString (" BBBB hh:mm:'ss'" ));
5472
5472
// assertEquals("BBBB hh:mm:'ss' | 00:00:30", "midnight 12:00:ss",
5473
5473
// sdf.format(k000030, out.remove()));
5474
- assertEquals
F438
(" BBBB hh | 00:00:30" , " at night 12:00:ss" ,
5474
+ assertEquals (" BBBB hh | 00:00:30" , " in the morning 12:00:ss" ,
5475
5475
sdf.format (k000030, out.remove ()));
5476
5476
5477
5477
sdf.applyPattern (UnicodeString (" BBBB hh:mm:ss" ));
5478
- assertEquals (" BBBB hh:mm:ss | 00:00:30" , " at night 12:00:30" ,
5478
+ assertEquals (" BBBB hh:mm:ss | 00:00:30" , " in the morning 12:00:30" ,
5479
5479
sdf.format (k000030, out.remove ()));
5480
5480
}
5481
5481
@@ -5495,6 +5495,7 @@ void DateFormatTest::TestDayPeriodParsing() {
5495
5495
UDate k193000 = 1447443000000.0 ;
5496
5496
UDate k200000 = 1447444800000.0 ;
5497
5497
UDate k210000 = 1447448400000.0 ;
5498
+ UDate k223000 = 1447453800000.0 ;
5498
5499
5499
5500
UErrorCode errorCode = U_ZERO_ERROR;
5500
5501
SimpleDateFormat sdf (UnicodeString (), errorCode);
@@ -5518,16 +5519,16 @@ void DateFormatTest::TestDayPeriodParsing() {
5518
5519
assertEquals (" yyyy-MM-dd B | 2015-11-13 in the evening" ,
5519
5520
k193000, sdf.parse (UnicodeString (" 2015-11-13 in the evening" ), errorCode));
5520
5521
assertEquals (" yyyy-MM-dd B | 2015-11-13 at night" ,
5521
- k013000 , sdf.parse (UnicodeString (" 2015-11-13 at night" ), errorCode));
5522
+ k223000 , sdf.parse (UnicodeString (" 2015-11-13 at night" ), errorCode));
5522
5523
5523
5524
// If time and day period are consistent with each other then time is parsed accordingly.
5524
5525
sdf.applyPattern (UnicodeString (" yyyy-MM-dd hh:mm B" ));
5525
5526
assertEquals (" yyyy-MM-dd hh:mm B | 2015-11-13 12:00 midnight" ,
5526
5527
k000000, sdf.parse (UnicodeString (" 2015-11-13 12:00 midnight" ), errorCode));
5527
5528
assertEquals (" yyyy-MM-dd hh:mm B | 2015-11-13 12:00 noon" ,
5528
5529
k120000, sdf.parse (UnicodeString (" 2015-11-13 12:00 noon" ), errorCode));
5529
- assertEquals (" yyyy-MM-dd hh:mm B | 2015-11-13 01:00 at night " ,
5530
- k010000, sdf.parse (UnicodeString (" 2015-11-13 01:00 at night " ), errorCode));
5530
+ assertEquals (" yyyy-MM-dd hh:mm B | 2015-11-13 01:00 in the morning " ,
5531
+ k010000, sdf.parse (UnicodeString (" 2015-11-13 01:00 in the morning " ), errorCode));
5531
5532
assertEquals (" yyyy-MM-dd hh:mm B | 2015-11-13 01:00 in the afternoon" ,
5532
5533
k130000, sdf.parse (UnicodeString (" 2015-11-13 01:00 in the afternoon" ), errorCode));
5533
5534
assertEquals (" yyyy-MM-dd hh:mm B | 2015-11-13 09:00 in the morning" ,
@@ -5581,8 +5582,8 @@ void DateFormatTest::TestDayPeriodParsing() {
5581
5582
k000000, sdf.parse (UnicodeString (" 2015-11-13 12:00 midnight" ), errorCode));
5582
5583
assertEquals (" yyyy-MM-dd HH:mm B | 2015-11-13 12:00 noon" ,
5583
5584
k120000, sdf.parse (UnicodeString (" 2015-11-13 12:00 noon" ), errorCode));
5584
- assertEquals (" yyyy-MM-dd HH:mm B | 2015-11-13 01:00 at night " ,
5585
- k010000, sdf.parse (UnicodeString (" 2015-11-13 01:00 at night " ), errorCode));
5585
+ assertEquals (" yyyy-MM-dd HH:mm B | 2015-11-13 01:00 in the morning " ,
5586
+ k010000, sdf.parse (UnicodeString (" 2015-11-13 01:00 in the morning " ), errorCode));
5586
5587
assertEquals (" yyyy-MM-dd HH:mm B | 2015-11-13 01:00 in the afternoon" ,
5587
5588
k130000, sdf.parse (UnicodeString (" 2015-11-13 01:00 in the afternoon" ), errorCode));
5588
5589
assertEquals (" yyyy-MM-dd HH:mm B | 2015-11-13 09:00 in the morning" ,
0 commit comments