|
1 | 1 | import {Directionality} from '@angular/cdk/bidi';
|
2 |
| -import {ENTER, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, SPACE} from '@angular/cdk/keycodes'; |
| 2 | +import { |
| 3 | + ENTER, |
| 4 | + LEFT_ARROW, |
| 5 | + RIGHT_ARROW, |
| 6 | + UP_ARROW, |
| 7 | + DOWN_ARROW, |
| 8 | + SPACE, |
| 9 | + HOME, |
| 10 | + END, |
| 11 | +} from '@angular/cdk/keycodes'; |
3 | 12 | import {dispatchKeyboardEvent} from '@angular/cdk/testing';
|
4 | 13 | import {Component, DebugElement} from '@angular/core';
|
5 | 14 | import {async, ComponentFixture, TestBed, inject} from '@angular/core/testing';
|
@@ -725,6 +734,16 @@ function assertCorrectKeyboardInteraction(fixture: ComponentFixture<any>,
|
725 | 734 | expect(stepperComponent.selectedIndex)
|
726 | 735 | .toBe(0,
|
727 | 736 | 'Expected index of selected step to change to index of focused step after SPACE event.');
|
| 737 | + |
| 738 | + const endEvent = dispatchKeyboardEvent(stepHeaderEl, 'keydown', END); |
| 739 | + expect(stepperComponent._focusIndex) |
| 740 | + .toBe(stepHeaders.length - 1, 'Expected last step to be focused when pressing END.'); |
| 741 | + expect(endEvent.defaultPrevented).toBe(true, 'Expected default END action to be prevented.'); |
| 742 | + |
| 743 | + const homeEvent = dispatchKeyboardEvent(stepHeaderEl, 'keydown', HOME); |
| 744 | + expect(stepperComponent._focusIndex) |
| 745 | + .toBe(0, 'Expected first step to be focused when pressing HOME.'); |
| 746 | + expect(homeEvent.defaultPrevented).toBe(true, 'Expected default HOME action to be prevented.'); |
728 | 747 | }
|
729 | 748 |
|
730 | 749 | /** Asserts that step selection change using stepper buttons does not focus step header. */
|
|
0 commit comments