@@ -454,7 +454,7 @@ describe('MatDatepicker', () => {
454
454
expect ( testComponent . datepicker . opened ) . toBe ( false ) ;
455
455
} ) ) ;
456
456
457
- it ( 'should open the datpeicker using ALT + DOWN_ARROW' , fakeAsync ( ( ) => {
457
+ it ( 'should open the datepicker using ALT + DOWN_ARROW' , fakeAsync ( ( ) => {
458
458
expect ( testComponent . datepicker . opened ) . toBe ( false ) ;
459
459
460
460
const event = createKeyboardEvent ( 'keydown' , DOWN_ARROW ) ;
@@ -468,6 +468,24 @@ describe('MatDatepicker', () => {
468
468
expect ( event . defaultPrevented ) . toBe ( true ) ;
469
469
} ) ) ;
470
470
471
+ it ( 'should not open for ALT + DOWN_ARROW on readonly input' , fakeAsync ( ( ) => {
472
+ const input = fixture . nativeElement . querySelector ( 'input' ) ;
473
+
474
+ expect ( testComponent . datepicker . opened ) . toBe ( false ) ;
475
+
476
+ input . setAttribute ( 'readonly' , 'true' ) ;
477
+
478
+ const event = createKeyboardEvent ( 'keydown' , DOWN_ARROW ) ;
479
+ Object . defineProperty ( event , 'altKey' , { get : ( ) => true } ) ;
480
+
481
+ dispatchEvent ( input , event ) ;
482
+ fixture . detectChanges ( ) ;
483
+ flush ( ) ;
484
+
485
+ expect ( testComponent . datepicker . opened ) . toBe ( false ) ;
486
+ expect ( event . defaultPrevented ) . toBe ( false ) ;
487
+ } ) ) ;
488
+
471
489
} ) ;
472
490
473
491
describe ( 'datepicker with too many inputs' , ( ) => {
0 commit comments