diff --git a/packages/ckeditor5-mention/src/mentionui.js b/packages/ckeditor5-mention/src/mentionui.js index 54b61d67cb1..539b3880344 100644 --- a/packages/ckeditor5-mention/src/mentionui.js +++ b/packages/ckeditor5-mention/src/mentionui.js @@ -34,7 +34,6 @@ const handledKeyCodes = [ keyCodes.arrowdown, keyCodes.enter, keyCodes.tab, - keyCodes.space, keyCodes.esc ]; @@ -121,7 +120,7 @@ export default class MentionUI extends Plugin { this._mentionsView.selectPrevious(); } - if ( data.keyCode == keyCodes.enter || data.keyCode == keyCodes.tab || data.keyCode == keyCodes.space ) { + if ( data.keyCode == keyCodes.enter || data.keyCode == keyCodes.tab ) { this._mentionsView.executeSelected(); } diff --git a/packages/ckeditor5-mention/tests/mentionui.js b/packages/ckeditor5-mention/tests/mentionui.js index ce99d5b5dcc..615ac75d2a5 100644 --- a/packages/ckeditor5-mention/tests/mentionui.js +++ b/packages/ckeditor5-mention/tests/mentionui.js @@ -1572,8 +1572,30 @@ describe( 'MentionUI', () => { testExecuteKey( 'enter', keyCodes.enter, feedItems ); testExecuteKey( 'tab', keyCodes.tab, feedItems ); + } ); + + describe( 'on other keys', () => { + it( 'should do nothing on space', async () => { + setData( model, 'foo []' ); + + model.change( writer => { + writer.insertText( '@', doc.selection.getFirstPosition() ); + } ); + + const command = editor.commands.get( 'mention' ); + const spy = testUtils.sinon.spy( command, 'execute' ); + + await waitForDebounce(); + expectChildViewsIsOnState( [ true, false, false, false, false ] ); - testExecuteKey( 'space', keyCodes.space, feedItems ); + fireKeyDownEvent( { + keyCodes: keyCodes.space, + preventDefault: sinon.spy(), + stopPropagation: sinon.spy() + } ); + + sinon.assert.notCalled( spy ); + } ); } ); } ); @@ -1724,8 +1746,6 @@ describe( 'MentionUI', () => { testExecuteKey( 'enter', keyCodes.enter, issues ); testExecuteKey( 'tab', keyCodes.tab, issues ); - - testExecuteKey( 'space', keyCodes.space, issues ); } ); } ); } ); @@ -1849,8 +1869,6 @@ describe( 'MentionUI', () => { testExecuteKey( 'enter', keyCodes.enter, issues ); testExecuteKey( 'tab', keyCodes.tab, issues ); - - testExecuteKey( 'space', keyCodes.space, issues ); } ); describe( 'mouse', () => {