mirror of
https://github.com/ueberdosis/tiptap.git
synced 2025-01-10 22:25:22 +08:00
66 lines
1.5 KiB
TypeScript
66 lines
1.5 KiB
TypeScript
|
import { Editor } from '@tiptap/core'
|
||
|
import Document from '@tiptap/extension-document'
|
||
|
import HorizontalRule from '@tiptap/extension-horizontal-rule'
|
||
|
import Image from '@tiptap/extension-image'
|
||
|
import Paragraph from '@tiptap/extension-paragraph'
|
||
|
import Text from '@tiptap/extension-text'
|
||
|
|
||
|
describe('extension-horizontal-rule', () => {
|
||
|
const editorElClass = 'tiptap'
|
||
|
let editor: Editor | null = null
|
||
|
|
||
|
const createEditorEl = () => {
|
||
|
const editorEl = document.createElement('div')
|
||
|
|
||
|
editorEl.classList.add(editorElClass)
|
||
|
document.body.appendChild(editorEl)
|
||
|
|
||
|
return editorEl
|
||
|
}
|
||
|
|
||
|
const getEditorEl = () => document.querySelector(`.${editorElClass}`)
|
||
|
|
||
|
it('should be inserted after block leaf nodes correctly', () => {
|
||
|
editor = new Editor({
|
||
|
element: createEditorEl(),
|
||
|
extensions: [
|
||
|
Document,
|
||
|
Text,
|
||
|
Paragraph,
|
||
|
HorizontalRule,
|
||
|
Image,
|
||
|
],
|
||
|
content: {
|
||
|
type: 'doc',
|
||
|
content: [
|
||
|
{
|
||
|
type: 'image',
|
||
|
attrs: {
|
||
|
src: 'https://source.unsplash.com/8xznAGy4HcY/800x400',
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
type: 'paragraph',
|
||
|
content: [
|
||
|
{
|
||
|
type: 'text',
|
||
|
text: 'Example Text',
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
})
|
||
|
|
||
|
editor.commands.setTextSelection(2)
|
||
|
editor.commands.setHorizontalRule()
|
||
|
|
||
|
expect(editor.getHTML()).to.match(
|
||
|
/<img(.*?)><hr><p>Example Text<\/p>/,
|
||
|
)
|
||
|
|
||
|
editor?.destroy()
|
||
|
getEditorEl()?.remove()
|
||
|
})
|
||
|
})
|