File tree Expand file tree Collapse file tree 2 files changed +22
-4
lines changed
Expand file tree Collapse file tree 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 {
297297 handleKeyDown ( event ) {
298298
299299 // Escape or Tab unpress the 'button'
300- if ( event . key === 'Esc ' || event . key === 'Tab' ) {
300+ if ( event . key === 'Escape ' || event . key === 'Tab' ) {
301301 if ( this . buttonPressed_ ) {
302302 this . unpressButton ( ) ;
303303 }
@@ -328,7 +328,7 @@ class MenuButton extends Component {
328328 */
329329 handleMenuKeyUp ( event ) {
330330 // Escape hides popup menu
331- if ( event . key === 'Esc ' || event . key === 'Tab' ) {
331+ if ( event . key === 'Escape ' || event . key === 'Tab' ) {
332332 this . removeClass ( 'vjs-hover' ) ;
333333 }
334334 }
@@ -356,7 +356,7 @@ class MenuButton extends Component {
356356 */
357357 handleSubmenuKeyDown ( event ) {
358358 // Escape or Tab unpress the 'button'
359- if ( event . key === 'Esc ' || event . key === 'Tab' ) {
359+ if ( event . key === 'Escape ' || event . key === 'Tab' ) {
360360 if ( this . buttonPressed_ ) {
361361 this . unpressButton ( ) ;
362362 }
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
235235
236236 assert . ok ( clickListenerSpy . calledOnce , 'click event listener should be called' ) ;
237237 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' ) ;
239239 assert . ok ( focusSpy . calledOnce , '`menuButton`.`focus` has been called' ) ;
240240
241241 unpressButtonSpy . restore ( ) ;
@@ -265,3 +265,21 @@ QUnit.test('should remove old event listeners when the menu item adds to the new
265265 oldMenu . dispose ( ) ;
266266 menuButton . dispose ( ) ;
267267} ) ;
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