@@ -122,6 +122,9 @@ describe('MatCalendarBody', () => {
122
122
const comparisonEndClass = 'mat-calendar-body-comparison-end' ;
123
123
const bridgeStart = 'mat-calendar-body-comparison-bridge-start' ;
124
124
const bridgeEnd = 'mat-calendar-body-comparison-bridge-end' ;
125
+ const previewStartClass = 'mat-calendar-body-preview-start' ;
126
+ const inPreviewClass = 'mat-calendar-body-in-preview' ;
127
+ const previewEndClass = 'mat-calendar-body-preview-end' ;
125
128
let fixture : ComponentFixture < RangeCalendarBody > ;
126
129
let testComponent : RangeCalendarBody ;
127
130
let cells : HTMLElement [ ] ;
@@ -405,29 +408,29 @@ describe('MatCalendarBody', () => {
405
408
dispatchMouseEvent ( cells [ 5 ] , 'mouseenter' ) ;
406
409
fixture . detectChanges ( ) ;
407
410
408
- expect ( cells [ 2 ] . classList ) . toContain ( startClass ) ;
409
- expect ( cells [ 3 ] . classList ) . toContain ( inRangeClass ) ;
410
- expect ( cells [ 4 ] . classList ) . toContain ( inRangeClass ) ;
411
- expect ( cells [ 5 ] . classList ) . toContain ( endClass ) ;
411
+ expect ( cells [ 2 ] . classList ) . toContain ( previewStartClass ) ;
412
+ expect ( cells [ 3 ] . classList ) . toContain ( inPreviewClass ) ;
413
+ expect ( cells [ 4 ] . classList ) . toContain ( inPreviewClass ) ;
414
+ expect ( cells [ 5 ] . classList ) . toContain ( previewEndClass ) ;
412
415
413
416
// Go a few cells ahead.
414
417
dispatchMouseEvent ( cells [ 7 ] , 'mouseenter' ) ;
415
418
fixture . detectChanges ( ) ;
416
419
417
- expect ( cells [ 5 ] . classList ) . not . toContain ( endClass ) ;
418
- expect ( cells [ 5 ] . classList ) . toContain ( inRangeClass ) ;
419
- expect ( cells [ 6 ] . classList ) . toContain ( inRangeClass ) ;
420
- expect ( cells [ 7 ] . classList ) . toContain ( endClass ) ;
420
+ expect ( cells [ 5 ] . classList ) . not . toContain ( previewEndClass ) ;
421
+ expect ( cells [ 5 ] . classList ) . toContain ( inPreviewClass ) ;
422
+ expect ( cells [ 6 ] . classList ) . toContain ( inPreviewClass ) ;
423
+ expect ( cells [ 7 ] . classList ) . toContain ( previewEndClass ) ;
421
424
422
425
// Go back a few cells.
423
426
dispatchMouseEvent ( cells [ 4 ] , 'mouseenter' ) ;
424
427
fixture . detectChanges ( ) ;
425
428
426
- expect ( cells [ 5 ] . classList ) . not . toContain ( inRangeClass ) ;
427
- expect ( cells [ 6 ] . classList ) . not . toContain ( inRangeClass ) ;
428
- expect ( cells [ 7 ] . classList ) . not . toContain ( endClass ) ;
429
- expect ( cells [ 3 ] . classList ) . toContain ( inRangeClass ) ;
430
- expect ( cells [ 4 ] . classList ) . toContain ( endClass ) ;
429
+ expect ( cells [ 5 ] . classList ) . not . toContain ( inPreviewClass ) ;
430
+ expect ( cells [ 6 ] . classList ) . not . toContain ( inPreviewClass ) ;
431
+ expect ( cells [ 7 ] . classList ) . not . toContain ( previewEndClass ) ;
432
+ expect ( cells [ 3 ] . classList ) . toContain ( inPreviewClass ) ;
433
+ expect ( cells [ 4 ] . classList ) . toContain ( previewEndClass ) ;
431
434
} ) ;
432
435
433
436
it ( 'should preview the selected range after the user selects a start and moves focus away' ,
@@ -438,29 +441,29 @@ describe('MatCalendarBody', () => {
438
441
dispatchFakeEvent ( cells [ 5 ] , 'focus' ) ;
439
442
fixture . detectChanges ( ) ;
440
443
441
- expect ( cells [ 2 ] . classList ) . toContain ( startClass ) ;
442
- expect ( cells [ 3 ] . classList ) . toContain ( inRangeClass ) ;
443
- expect ( cells [ 4 ] . classList ) . toContain ( inRangeClass ) ;
444
- expect ( cells [ 5 ] . classList ) . toContain ( endClass ) ;
444
+ expect ( cells [ 2 ] . classList ) . toContain ( previewStartClass ) ;
445
+ expect ( cells [ 3 ] . classList ) . toContain ( inPreviewClass ) ;
446
+ expect ( cells [ 4 ] . classList ) . toContain ( inPreviewClass ) ;
447
+ expect ( cells [ 5 ] . classList ) . toContain ( previewEndClass ) ;
445
448
446
449
// Go a few cells ahead.
447
450
dispatchFakeEvent ( cells [ 7 ] , 'focus' ) ;
448
451
fixture . detectChanges ( ) ;
449
452
450
- expect ( cells [ 5 ] . classList ) . not . toContain ( endClass ) ;
451
- expect ( cells [ 5 ] . classList ) . toContain ( inRangeClass ) ;
452
- expect ( cells [ 6 ] . classList ) . toContain ( inRangeClass ) ;
453
- expect ( cells [ 7 ] . classList ) . toContain ( endClass ) ;
453
+ expect ( cells [ 5 ] . classList ) . not . toContain ( previewEndClass ) ;
454
+ expect ( cells [ 5 ] . classList ) . toContain ( inPreviewClass ) ;
455
+ expect ( cells [ 6 ] . classList ) . toContain ( inPreviewClass ) ;
456
+ expect ( cells [ 7 ] . classList ) . toContain ( previewEndClass ) ;
454
457
455
458
// Go back a few cells.
456
459
dispatchFakeEvent ( cells [ 4 ] , 'focus' ) ;
457
460
fixture . detectChanges ( ) ;
458
461
459
- expect ( cells [ 5 ] . classList ) . not . toContain ( inRangeClass ) ;
460
- expect ( cells [ 6 ] . classList ) . not . toContain ( inRangeClass ) ;
461
- expect ( cells [ 7 ] . classList ) . not . toContain ( endClass ) ;
462
- expect ( cells [ 3 ] . classList ) . toContain ( inRangeClass ) ;
463
- expect ( cells [ 4 ] . classList ) . toContain ( endClass ) ;
462
+ expect ( cells [ 5 ] . classList ) . not . toContain ( inPreviewClass ) ;
463
+ expect ( cells [ 6 ] . classList ) . not . toContain ( inPreviewClass ) ;
464
+ expect ( cells [ 7 ] . classList ) . not . toContain ( previewEndClass ) ;
465
+ expect ( cells [ 3 ] . classList ) . toContain ( inPreviewClass ) ;
466
+ expect ( cells [ 4 ] . classList ) . toContain ( previewEndClass ) ;
464
467
} ) ;
465
468
466
469
it ( 'should not be able to extend the range before the start' , ( ) => {
@@ -471,7 +474,8 @@ describe('MatCalendarBody', () => {
471
474
fixture . detectChanges ( ) ;
472
475
473
476
expect ( cells [ 5 ] . classList ) . toContain ( startClass ) ;
474
- expect ( cells . some ( cell => cell . classList . contains ( inRangeClass ) ) ) . toBe ( false ) ;
477
+ expect ( cells [ 5 ] . classList ) . not . toContain ( previewStartClass ) ;
478
+ expect ( cells . some ( cell => cell . classList . contains ( inPreviewClass ) ) ) . toBe ( false ) ;
475
479
} ) ;
476
480
477
481
it ( 'should be able to show a range, starting before the beginning of the calendar, ' +
@@ -482,10 +486,10 @@ describe('MatCalendarBody', () => {
482
486
dispatchMouseEvent ( cells [ 2 ] , 'mouseenter' ) ;
483
487
fixture . detectChanges ( ) ;
484
488
485
- expect ( cells . some ( cell => cell . classList . contains ( startClass ) ) ) . toBe ( false ) ;
486
- expect ( cells [ 0 ] . classList ) . toContain ( inRangeClass ) ;
487
- expect ( cells [ 1 ] . classList ) . toContain ( inRangeClass ) ;
488
- expect ( cells [ 2 ] . classList ) . toContain ( endClass ) ;
489
+ expect ( cells . some ( cell => cell . classList . contains ( previewStartClass ) ) ) . toBe ( false ) ;
490
+ expect ( cells [ 0 ] . classList ) . toContain ( inPreviewClass ) ;
491
+ expect ( cells [ 1 ] . classList ) . toContain ( inPreviewClass ) ;
492
+ expect ( cells [ 2 ] . classList ) . toContain ( previewEndClass ) ;
489
493
} ) ;
490
494
491
495
it ( 'should be able to show a range, starting before the beginning of the calendar, ' +
@@ -496,10 +500,10 @@ describe('MatCalendarBody', () => {
496
500
dispatchMouseEvent ( cells [ 2 ] , 'focus' ) ;
497
501
fixture . detectChanges ( ) ;
498
502
499
- expect ( cells . some ( cell => cell . classList . contains ( startClass ) ) ) . toBe ( false ) ;
500
- expect ( cells [ 0 ] . classList ) . toContain ( inRangeClass ) ;
501
- expect ( cells [ 1 ] . classList ) . toContain ( inRangeClass ) ;
502
- expect ( cells [ 2 ] . classList ) . toContain ( endClass ) ;
503
+ expect ( cells . some ( cell => cell . classList . contains ( previewStartClass ) ) ) . toBe ( false ) ;
504
+ expect ( cells [ 0 ] . classList ) . toContain ( inPreviewClass ) ;
505
+ expect ( cells [ 1 ] . classList ) . toContain ( inPreviewClass ) ;
506
+ expect ( cells [ 2 ] . classList ) . toContain ( previewEndClass ) ;
503
507
} ) ;
504
508
505
509
it ( 'should remove the preview if the user moves their pointer away' , ( ) => {
@@ -509,26 +513,26 @@ describe('MatCalendarBody', () => {
509
513
dispatchMouseEvent ( cells [ 4 ] , 'mouseenter' ) ;
510
514
fixture . detectChanges ( ) ;
511
515
512
- expect ( cells [ 2 ] . classList ) . toContain ( startClass ) ;
513
- expect ( cells [ 3 ] . classList ) . toContain ( inRangeClass ) ;
514
- expect ( cells [ 4 ] . classList ) . toContain ( endClass ) ;
516
+ expect ( cells [ 2 ] . classList ) . toContain ( previewStartClass ) ;
517
+ expect ( cells [ 3 ] . classList ) . toContain ( inPreviewClass ) ;
518
+ expect ( cells [ 4 ] . classList ) . toContain ( previewEndClass ) ;
515
519
516
520
// Move the pointer away.
517
521
dispatchMouseEvent ( cells [ 4 ] , 'mouseleave' ) ;
518
522
fixture . detectChanges ( ) ;
519
523
520
- expect ( cells [ 2 ] . classList ) . toContain ( startClass ) ;
521
- expect ( cells [ 3 ] . classList ) . not . toContain ( inRangeClass ) ;
522
- expect ( cells [ 4 ] . classList ) . not . toContain ( endClass ) ;
524
+ expect ( cells [ 2 ] . classList ) . not . toContain ( previewStartClass ) ;
525
+ expect ( cells [ 3 ] . classList ) . not . toContain ( inPreviewClass ) ;
526
+ expect ( cells [ 4 ] . classList ) . not . toContain ( previewEndClass ) ;
523
527
524
528
// Move the pointer back in to a different cell.
525
529
dispatchMouseEvent ( cells [ 5 ] , 'mouseenter' ) ;
526
530
fixture . detectChanges ( ) ;
527
531
528
- expect ( cells [ 2 ] . classList ) . toContain ( startClass ) ;
529
- expect ( cells [ 3 ] . classList ) . toContain ( inRangeClass ) ;
530
- expect ( cells [ 4 ] . classList ) . toContain ( inRangeClass ) ;
531
- expect ( cells [ 5 ] . classList ) . toContain ( endClass ) ;
532
+ expect ( cells [ 2 ] . classList ) . toContain ( previewStartClass ) ;
533
+ expect ( cells [ 3 ] . classList ) . toContain ( inPreviewClass ) ;
534
+ expect ( cells [ 4 ] . classList ) . toContain ( inPreviewClass ) ;
535
+ expect ( cells [ 5 ] . classList ) . toContain ( previewEndClass ) ;
532
536
} ) ;
533
537
534
538
it ( 'should remove the preview if the user moves their focus away' , ( ) => {
@@ -538,26 +542,26 @@ describe('MatCalendarBody', () => {
538
542
dispatchFakeEvent ( cells [ 4 ] , 'focus' ) ;
539
543
fixture . detectChanges ( ) ;
540
544
541
- expect ( cells [ 2 ] . classList ) . toContain ( startClass ) ;
542
- expect ( cells [ 3 ] . classList ) . toContain ( inRangeClass ) ;
543
- expect ( cells [ 4 ] . classList ) . toContain ( endClass ) ;
545
+ expect ( cells [ 2 ] . classList ) . toContain ( previewStartClass ) ;
546
+ expect ( cells [ 3 ] . classList ) . toContain ( inPreviewClass ) ;
547
+ expect ( cells [ 4 ] . classList ) . toContain ( previewEndClass ) ;
544
548
545
549
// Move the pointer away.
546
550
dispatchFakeEvent ( cells [ 4 ] , 'blur' ) ;
547
551
fixture . detectChanges ( ) ;
548
552
549
- expect ( cells [ 2 ] . classList ) . toContain ( startClass ) ;
550
- expect ( cells [ 3 ] . classList ) . not . toContain ( inRangeClass ) ;
551
- expect ( cells [ 4 ] . classList ) . not . toContain ( endClass ) ;
553
+ expect ( cells [ 2 ] . classList ) . not . toContain ( previewStartClass ) ;
554
+ expect ( cells [ 3 ] . classList ) . not . toContain ( inPreviewClass ) ;
555
+ expect ( cells [ 4 ] . classList ) . not . toContain ( previewEndClass ) ;
552
556
553
557
// Move the pointer back in to a different cell.
554
558
dispatchFakeEvent ( cells [ 5 ] , 'focus' ) ;
555
559
fixture . detectChanges ( ) ;
556
560
557
- expect ( cells [ 2 ] . classList ) . toContain ( startClass ) ;
558
- expect ( cells [ 3 ] . classList ) . toContain ( inRangeClass ) ;
559
- expect ( cells [ 4 ] . classList ) . toContain ( inRangeClass ) ;
560
- expect ( cells [ 5 ] . classList ) . toContain ( endClass ) ;
561
+ expect ( cells [ 2 ] . classList ) . toContain ( previewStartClass ) ;
562
+ expect ( cells [ 3 ] . classList ) . toContain ( inPreviewClass ) ;
563
+ expect ( cells [ 4 ] . classList ) . toContain ( inPreviewClass ) ;
564
+ expect ( cells [ 5 ] . classList ) . toContain ( previewEndClass ) ;
561
565
} ) ;
562
566
563
567
} ) ;
0 commit comments