@@ -160,13 +160,13 @@ describe('<FormattedMessage>', () => {
160
160
const descriptor = {
161
161
id : 'hello' ,
162
162
defaultMessage : 'Hello, World!' ,
163
- tagName : ''
163
+ tagName : '' ,
164
164
} ;
165
165
166
- const rendered = mountWithProvider (
167
- descriptor ,
168
- { ... providerProps , textComponent : undefined }
169
- ) ;
166
+ const rendered = mountWithProvider ( descriptor , {
167
+ ... providerProps ,
168
+ textComponent : undefined ,
169
+ } ) ;
170
170
171
171
expect ( rendered . text ( ) ) . toBe ( intl . formatMessage ( descriptor ) ) ;
172
172
} ) ;
@@ -314,15 +314,17 @@ describe('<FormattedMessage>', () => {
314
314
time : {
315
315
short : {
316
316
second : 'numeric' ,
317
- timeZoneName : 'long'
318
- }
319
- }
317
+ timeZoneName : 'long' ,
318
+ } ,
319
+ } ,
320
320
} ,
321
321
timeZone : 'Asia/Tokyo' ,
322
322
}
323
323
) ;
324
324
325
- expect ( rendered . text ( ) ) . toBe ( 'Hello, 1/1/70 - 9:00:00 AM Japan Standard Time' ) ;
325
+ expect ( rendered . text ( ) ) . toBe (
326
+ 'Hello, 1/1/70 - 9:00:00 AM Japan Standard Time'
327
+ ) ;
326
328
} ) ;
327
329
328
330
it ( 'should merge timeZone into defaultFormats' , function ( ) {
@@ -340,15 +342,87 @@ describe('<FormattedMessage>', () => {
340
342
time : {
341
343
short : {
342
344
second : 'numeric' ,
343
- timeZoneName : 'long'
344
- }
345
- }
345
+ timeZoneName : 'long' ,
346
+ } ,
347
+ } ,
348
+ } ,
349
+ timeZone : 'Asia/Tokyo' ,
350
+ }
351
+ ) ;
352
+
353
+ expect ( rendered . text ( ) ) . toBe (
354
+ 'Hello, 1/1/70 - 9:00:00 AM Japan Standard Time'
355
+ ) ;
356
+ } ) ;
357
+
358
+ it ( 'should handle defaultFormat merge correctly' , function ( ) {
359
+ const rendered = mountWithProvider (
360
+ {
361
+ id : 'hello' ,
362
+ defaultMessage : 'The day is {now, date, weekday-long}.' ,
363
+ values : {
364
+ now : new Date ( 0 ) ,
365
+ } ,
366
+ } ,
367
+ {
368
+ ...providerProps ,
369
+ defaultLocale : undefined ,
370
+ formats : {
371
+ date : {
372
+ 'weekday-long' : { weekday : 'long' } ,
373
+ } ,
374
+ time : {
375
+ hour : { hour : 'numeric' } ,
376
+ } ,
377
+ } ,
378
+ defaultFormats : {
379
+ date : {
380
+ 'weekday-long' : { weekday : 'long' } ,
381
+ } ,
382
+ time : {
383
+ hour : { hour : 'numeric' } ,
384
+ } ,
385
+ } ,
386
+ timeZone : undefined ,
387
+ }
388
+ ) ;
389
+
390
+ expect ( rendered . text ( ) ) . toBe ( 'The day is Wednesday.' ) ;
391
+ } ) ;
392
+
393
+ it ( 'should handle defaultFormat merge correctly w/ timeZone' , function ( ) {
394
+ const rendered = mountWithProvider (
395
+ {
396
+ id : 'hello' ,
397
+ defaultMessage : 'The day is {now, date, weekday-long}.' ,
398
+ values : {
399
+ now : new Date ( 0 ) ,
400
+ } ,
401
+ } ,
402
+ {
403
+ ...providerProps ,
404
+ defaultLocale : undefined ,
405
+ formats : {
406
+ date : {
407
+ 'weekday-long' : { weekday : 'long' } ,
408
+ } ,
409
+ time : {
410
+ hour : { hour : 'numeric' } ,
411
+ } ,
412
+ } ,
413
+ defaultFormats : {
414
+ date : {
415
+ 'weekday-long' : { weekday : 'long' } ,
416
+ } ,
417
+ time : {
418
+ hour : { hour : 'numeric' } ,
419
+ } ,
346
420
} ,
347
421
timeZone : 'Asia/Tokyo' ,
348
422
}
349
423
) ;
350
424
351
- expect ( rendered . text ( ) ) . toBe ( 'Hello, 1/1/70 - 9:00:00 AM Japan Standard Time ' ) ;
425
+ expect ( rendered . text ( ) ) . toBe ( 'The day is Thursday. ' ) ;
352
426
} ) ;
353
427
354
428
it ( 'should re-render when `values` are different' , ( ) => {
0 commit comments