/// import { Editor } from '@tiptap/core' import Document from '@tiptap/extension-document' import Paragraph from '@tiptap/extension-paragraph' import { Table } from '@tiptap/extension-table' import { TableCell } from '@tiptap/extension-table-cell' import { TableHeader } from '@tiptap/extension-table-header' import { TableRow } from '@tiptap/extension-table-row' import Text from '@tiptap/extension-text' describe('extension table header', () => { 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 start with a Table', () => { const content = '
FirstnameLastnameAge
JillSmith50
EveJackson94
JohnDoe80
' editor = new Editor({ element: createEditorEl(), extensions: [ Document, Text, Paragraph, TableCell, TableHeader, TableRow, Table.configure({ resizable: true, }), ], content, }) expect(editor.getHTML()).to.include('Jackson') editor?.destroy() getEditorEl()?.remove() }) it('should parse a single colWidth', () => { const content = '
NameDescription
Cyndi LauperSingerSongwriterActress
Marie CurieScientistChemistPhysicist
Indira GandhiPrime ministerPolitician
' editor = new Editor({ element: createEditorEl(), extensions: [ Document, Text, Paragraph, TableCell, TableHeader, TableRow, Table.configure({ resizable: true, }), ], content, }) expect(editor.getJSON().content[0].content[0].content[0].attrs.colwidth[0]).to.eq(200) editor?.destroy() getEditorEl()?.remove() }) it('should parse multiple colWidths', () => { const content = '
NameDescription
Cyndi LauperSingerSongwriterActress
Marie CurieScientistChemistPhysicist
Indira GandhiPrime ministerPolitician
' editor = new Editor({ element: createEditorEl(), extensions: [ Document, Text, Paragraph, TableCell, TableHeader, TableRow, Table.configure({ resizable: true, }), ], content, }) expect(editor.getJSON().content[0].content[0].content[1].attrs.colwidth).deep.equal([150, 100]) editor?.destroy() getEditorEl()?.remove() }) })