@@ -554,6 +554,45 @@ describe('Multi-View Calendar - ', () => {
554
554
HelperTestFunctions . verifyCalendarSubHeaders ( fixture , [ march2020 , april2020 , may2020 ] ) ;
555
555
} ) ) ;
556
556
557
+ it ( 'Verify tabindex is correct when navigating with arrow keys' , fakeAsync ( ( ) => {
558
+ calendar . hideOutsideDays = true ;
559
+ fixture . detectChanges ( ) ;
560
+
561
+ let dates = HelperTestFunctions . getMonthViewDates ( fixture , 0 ) ;
562
+ UIInteractions . simulateClickEvent ( dates [ 0 ] ) ;
563
+ fixture . detectChanges ( ) ;
564
+ tick ( ) ;
565
+
566
+ UIInteractions . triggerKeyDownEvtUponElem ( 'ArrowDown' , dates [ 0 ] ) ;
567
+ fixture . detectChanges ( ) ;
568
+ tick ( ) ;
569
+ dates = HelperTestFunctions . getMonthViewDates ( fixture , 0 ) ;
570
+ expect ( document . activeElement ) . toEqual ( dates [ 7 ] ) ;
571
+ expect ( dates [ 7 ] . tabIndex ) . toBe ( 0 ) ;
572
+
573
+ UIInteractions . triggerKeyDownEvtUponElem ( 'ArrowUp' , dates [ 7 ] ) ;
574
+ fixture . detectChanges ( ) ;
575
+ tick ( ) ;
576
+ dates = HelperTestFunctions . getMonthViewDates ( fixture , 0 ) ;
577
+ expect ( document . activeElement ) . toEqual ( dates [ 0 ] ) ;
578
+ expect ( dates [ 0 ] . tabIndex ) . toBe ( 0 ) ;
579
+
580
+ UIInteractions . triggerKeyDownEvtUponElem ( 'ArrowRight' , dates [ 0 ] ) ;
581
+ fixture . detectChanges ( ) ;
582
+ tick ( ) ;
583
+ dates = HelperTestFunctions . getMonthViewDates ( fixture , 0 ) ;
584
+ expect ( document . activeElement ) . toEqual ( dates [ 1 ] ) ;
585
+ expect ( dates [ 1 ] . tabIndex ) . toBe ( 0 ) ;
586
+
587
+ UIInteractions . triggerKeyDownEvtUponElem ( 'ArrowLeft' , dates [ 1 ] ) ;
588
+ fixture . detectChanges ( ) ;
589
+ tick ( ) ;
590
+ dates = HelperTestFunctions . getMonthViewDates ( fixture , 0 ) ;
591
+ expect ( document . activeElement ) . toEqual ( dates [ 0 ] ) ;
592
+ expect ( dates [ 0 ] . tabIndex ) . toBe ( 0 ) ;
593
+ } ) ) ;
594
+
595
+
557
596
it ( 'Verify navigation with pageUp' , fakeAsync ( ( ) => {
558
597
let monthDates = HelperTestFunctions . getMonthViewDates ( fixture , 1 ) ;
559
598
UIInteractions . simulateClickEvent ( monthDates [ 16 ] ) ;
@@ -694,17 +733,19 @@ describe('Multi-View Calendar - ', () => {
694
733
fixture . detectChanges ( ) ;
695
734
inactiveDates = HelperTestFunctions . getMonthViewInactiveDates ( fixture , 0 ) ;
696
735
inactiveDates . forEach ( date => {
697
- expect ( date . tabIndex ) . toEqual ( 0 ) ;
736
+ expect ( date . tabIndex ) . toEqual ( - 1 ) ;
698
737
} ) ;
699
738
700
739
monthDates = HelperTestFunctions . getMonthViewDates ( fixture , 0 ) ;
701
740
for ( let index = 6 ; index < 14 ; index ++ ) {
702
- expect ( monthDates [ index ] . tabIndex ) . toEqual ( 0 ) ;
741
+ expect ( monthDates [ index ] . tabIndex ) . toEqual ( - 1 ) ;
703
742
704
743
}
744
+
745
+ expect ( monthDates [ 0 ] . tabIndex ) . toEqual ( 0 ) ;
705
746
} ) ) ;
706
747
707
- it ( 'Verify navigation with Home and End keys' , fakeAsync ( ( ) => {
748
+ it ( 'Verify navigation with Home and End keys and check the tabindex ' , fakeAsync ( ( ) => {
708
749
let monthDates = HelperTestFunctions . getMonthViewDates ( fixture , 1 ) ;
709
750
UIInteractions . simulateClickEvent ( monthDates [ 16 ] ) ;
710
751
fixture . detectChanges ( ) ;
@@ -716,13 +757,17 @@ describe('Multi-View Calendar - ', () => {
716
757
717
758
monthDates = HelperTestFunctions . getMonthViewDates ( fixture , 0 ) ;
718
759
expect ( document . activeElement ) . toEqual ( monthDates [ 0 ] ) ;
760
+ expect ( monthDates [ 0 ] . tabIndex ) . toEqual ( 0 ) ;
761
+
719
762
720
763
UIInteractions . triggerKeyDownEvtUponElem ( 'End' , monthDates [ 0 ] , true ) ;
721
764
fixture . detectChanges ( ) ;
722
765
tick ( ) ;
723
766
724
767
monthDates = HelperTestFunctions . getMonthViewDates ( fixture , 2 ) ;
725
768
expect ( document . activeElement ) . toEqual ( monthDates [ monthDates . length - 1 ] ) ;
769
+ expect ( monthDates [ monthDates . length - 1 ] . tabIndex ) . toEqual ( 0 ) ;
770
+
726
771
} ) ) ;
727
772
728
773
it ( 'Verify navigation with Home and End keys when there are disabled dates' , fakeAsync ( ( ) => {
0 commit comments