Add russian undo/redo shortcuts and fix tests

This commit is contained in:
Markus Machatschek 2021-07-14 17:29:28 +02:00 committed by Hans Pagel
parent 6ca7ebde55
commit a331d72383
2 changed files with 47 additions and 14 deletions

View File

@ -1,9 +1,6 @@
context('/demos/Extensions/History', () => { context('/demos/Extensions/History', () => {
before(() => {
cy.visit('/demos/Extensions/History')
})
beforeEach(() => { beforeEach(() => {
cy.visit('/demos/Extensions/History')
cy.get('.ProseMirror').then(([{ editor }]) => { cy.get('.ProseMirror').then(([{ editor }]) => {
editor.commands.setContent('<p>Mistake</p>') editor.commands.setContent('<p>Mistake</p>')
}) })
@ -20,12 +17,54 @@ context('/demos/Extensions/History', () => {
.should('not.contain', 'Mistake') .should('not.contain', 'Mistake')
}) })
it('the keyboard shortcut should make the last change undone', () => { it('should make the last change undone with the keyboard shortcut', () => {
cy.get('.ProseMirror')
.trigger('keydown', {modKey: true, key: 'z' })
cy.get('.ProseMirror') cy.get('.ProseMirror')
.trigger('keydown', { modKey: true, key: 'z' })
.should('not.contain', 'Mistake') .should('not.contain', 'Mistake')
}) })
it('should make the last change undone with the keyboard shortcut (russian)', () => {
cy.get('.ProseMirror')
.should('contain', 'Mistake')
cy.get('.ProseMirror')
.trigger('keydown', {modKey: true, key: 'я' })
cy.get('.ProseMirror')
.should('not.contain', 'Mistake')
})
it('should apply the last undone change again with the keyboard shortcut', () => {
cy.get('.ProseMirror')
.trigger('keydown', {modKey: true, key: 'z' })
cy.get('.ProseMirror')
.should('not.contain', 'Mistake')
cy.get('.ProseMirror')
.trigger('keydown', {modKey: true, shiftKey: true, key: 'z' })
cy.get('.ProseMirror')
.should('contain', 'Mistake')
})
it('should apply the last undone change again with the keyboard shortcut (russian)', () => {
cy.get('.ProseMirror')
.trigger('keydown', {modKey: true, key: 'я' })
cy.get('.ProseMirror')
.should('not.contain', 'Mistake')
cy.get('.ProseMirror')
.trigger('keydown', {modKey: true, shiftKey: true, key: 'я' })
cy.get('.ProseMirror')
.should('contain', 'Mistake')
})
it('should apply the last undone change again', () => { it('should apply the last undone change again', () => {
cy.get('.ProseMirror') cy.get('.ProseMirror')
.should('contain', 'Mistake') .should('contain', 'Mistake')
@ -42,12 +81,4 @@ context('/demos/Extensions/History', () => {
cy.get('.ProseMirror') cy.get('.ProseMirror')
.should('contain', 'Mistake') .should('contain', 'Mistake')
}) })
it.skip('the keyboard shortcut should apply the last undone change again', () => {
cy.get('.ProseMirror')
.trigger('keydown', { modKey: true, key: 'z' })
.should('not.contain', 'Mistake')
.trigger('keydown', { modKey: true, shiftKey: true, key: 'z' })
.should('contain', 'Mistake')
})
}) })

View File

@ -49,8 +49,10 @@ export const History = Extension.create<HistoryOptions>({
addKeyboardShortcuts() { addKeyboardShortcuts() {
return { return {
'Mod-z': () => this.editor.commands.undo(), 'Mod-z': () => this.editor.commands.undo(),
'Mod-я': () => this.editor.commands.undo(),
'Mod-y': () => this.editor.commands.redo(), 'Mod-y': () => this.editor.commands.redo(),
'Shift-Mod-z': () => this.editor.commands.redo(), 'Shift-Mod-z': () => this.editor.commands.redo(),
'Shift-Mod-я': () => this.editor.commands.redo(),
} }
}, },
}) })