File tree 2 files changed +22
-4
lines changed
2 files changed +22
-4
lines changed Original file line number Diff line number Diff line change @@ -297,7 +297,7 @@ class MenuButton extends Component {
297
297
handleKeyDown ( event ) {
298
298
299
299
// Escape or Tab unpress the 'button'
300
- if ( event . key === 'Esc ' || event . key === 'Tab' ) {
300
+ if ( event . key === 'Escape ' || event . key === 'Tab' ) {
301
301
if ( this . buttonPressed_ ) {
302
302
this . unpressButton ( ) ;
303
303
}
@@ -328,7 +328,7 @@ class MenuButton extends Component {
328
328
*/
329
329
handleMenuKeyUp ( event ) {
330
330
// Escape hides popup menu
331
- if ( event . key === 'Esc ' || event . key === 'Tab' ) {
331
+ if ( event . key === 'Escape ' || event . key === 'Tab' ) {
332
332
this . removeClass ( 'vjs-hover' ) ;
333
333
}
334
334
}
@@ -356,7 +356,7 @@ class MenuButton extends Component {
356
356
*/
357
357
handleSubmenuKeyDown ( event ) {
358
358
// Escape or Tab unpress the 'button'
359
- if ( event . key === 'Esc ' || event . key === 'Tab' ) {
359
+ if ( event . key === 'Escape ' || event . key === 'Tab' ) {
360
360
if ( this . buttonPressed_ ) {
361
361
this . unpressButton ( ) ;
362
362
}
Original file line number Diff line number Diff line change @@ -235,7 +235,7 @@ QUnit.test('should remove old event listeners when the menu item adds to the new
235
235
236
236
assert . ok ( clickListenerSpy . calledOnce , 'click event listener should be called' ) ;
237
237
assert . strictEqual ( clickListenerSpy . getCall ( 0 ) . args [ 0 ] . target , menuItem . el ( ) , 'event target should be the `menuItem`' ) ;
238
- assert . ok ( unpressButtonSpy . calledOnce , '`menuButton`.`unpressButtion ` has been called' ) ;
238
+ assert . ok ( unpressButtonSpy . calledOnce , '`menuButton`.`unpressButton ` has been called' ) ;
239
239
assert . ok ( focusSpy . calledOnce , '`menuButton`.`focus` has been called' ) ;
240
240
241
241
unpressButtonSpy . restore ( ) ;
@@ -265,3 +265,21 @@ QUnit.test('should remove old event listeners when the menu item adds to the new
265
265
oldMenu . dispose ( ) ;
266
266
menuButton . dispose ( ) ;
267
267
} ) ;
268
+
269
+ QUnit . test ( 'Escape should close menu' , function ( assert ) {
270
+ const player = TestHelpers . makePlayer ( ) ;
271
+ const menuButton = new MenuButton ( player , { } ) ;
272
+ const unpressButtonSpy = sinon . spy ( menuButton , 'unpressButton' ) ;
273
+
274
+ menuButton . createItems = ( ) => [ new MenuItem ( player , { } ) ] ;
275
+ menuButton . update ( ) ;
276
+ menuButton . handleClick ( new window . PointerEvent ( 'click' ) ) ;
277
+ menuButton . menu . children ( ) [ 0 ] . el_ . dispatchEvent ( new window . KeyboardEvent ( 'keydown' , {
278
+ key : 'Escape' ,
279
+ bubbles : true ,
280
+ cancelable : true
281
+ } ) ) ;
282
+
283
+ assert . ok ( unpressButtonSpy . calledOnce , '`menuButton`.`unpressButton` has been called' ) ;
284
+
285
+ } ) ;
You can’t perform that action at this time.
0 commit comments