update the history extension page, add a demo with tests

This commit is contained in:
Hans Pagel
2020-09-02 15:48:02 +02:00
parent 819052912d
commit 5c470caefc
4 changed files with 141 additions and 51 deletions

View File

@@ -0,0 +1,71 @@
context('/api/extensions/history', () => {
beforeEach(() => {
cy.visit('/api/extensions/history')
cy.get('.ProseMirror').window().then(window => {
const { editor } = window
editor.setContent('<p>Mistake</p>')
})
})
describe('undo', () => {
it('should make the last change undone', () => {
cy.get('.ProseMirror').window().then(window => {
const { editor } = window
cy.get('.ProseMirror').should('contain', 'Mistake')
cy.get('.demo__preview button:first').click({ force: true })
cy.get('.ProseMirror').should('not.contain', 'Mistake')
})
})
})
describe('redo', () => {
it('should apply the last undone change again', () => {
cy.get('.ProseMirror').window().then(window => {
const { editor } = window
cy.get('.ProseMirror').should('contain', 'Mistake')
cy.get('.demo__preview button:first').click({ force: true })
cy.get('.ProseMirror').should('not.contain', 'Mistake')
cy.get('.demo__preview button:nth-child(2)').click({ force: true })
cy.get('.ProseMirror').should('contain', 'Mistake')
})
})
})
})
// context('/api/extensions/history', () => {
// beforeEach(() => {
// cy.visit('/api/extensions/history')
// cy.get('.ProseMirror').window().then(window => {
// const { editor } = window
// editor.setContent('<p>as</p>')
// })
// })
// describe('history', () => {
// it('should make the selected text history', () => {
// cy.get('.ProseMirror').window().then(window => {
// const { editor } = window
// const html = editor.html()
// cy.get('.ProseMirror').type('Mistake', { force: true })
// // cy.get('.ProseMirror').should('contain', 'Mistake')
// // cy.get('.demo__preview button:first').click({ force: true })
// // cy.get('.ProseMirror').should('contain', 'Mistake')
// })
// })
// editor.insertText('Mistake')
// cy.get('.ProseMirror h2:first').should('contain', 'Mistake')
// // it('should toggle the selected text history', () => {
// // cy.get('.demo__preview button:first').dblclick({ force: true })
// // cy.get('.ProseMirror em').should('not.exist')
// // })
// })
// })

View File

@@ -0,0 +1,53 @@
<template>
<div v-if="editor">
<button @click="editor.focus().undo()">
undo
</button>
<button @click="editor.focus().redo()">
redo
</button>
<editor-content :editor="editor" />
</div>
</template>
<script>
import { Editor } from '@tiptap/core'
import { EditorContent } from '@tiptap/vue'
import Document from '@tiptap/extension-document'
import Paragraph from '@tiptap/extension-paragraph'
import Text from '@tiptap/extension-text'
import History from '@tiptap/extension-history'
export default {
components: {
EditorContent,
},
data() {
return {
editor: null,
}
},
mounted() {
this.editor = new Editor({
extensions: [
new Document(),
new Paragraph(),
new Text(),
new History(),
],
content: `
<p>Edit this text and press undo to test this extension.</p>
`,
})
window.editor = this.editor
},
beforeDestroy() {
this.editor.destroy()
}
}
</script>