/// import Document from '@tiptap/extension-document' import Paragraph from '@tiptap/extension-paragraph' import Text from '@tiptap/extension-text' import TextAlign from '@tiptap/extension-text-align' import { generateJSON } from '@tiptap/html' describe('generateJSON', () => { it('generate JSON from HTML without an editor instance', () => { const html = '

Example Text

' const json = generateJSON(html, [Document, Paragraph, Text]) expect(JSON.stringify(json)).to.eq( JSON.stringify({ type: 'doc', content: [ { type: 'paragraph', content: [ { type: 'text', text: 'Example Text', }, ], }, ], }), ) }) // issue: https://github.com/ueberdosis/tiptap/issues/1601 it('generate JSON with style attributes', () => { const html = '

Example Text

' const json = generateJSON(html, [Document, Paragraph, Text, TextAlign.configure({ types: ['paragraph'] })]) expect(JSON.stringify(json)).to.eq( JSON.stringify({ type: 'doc', content: [ { type: 'paragraph', attrs: { textAlign: 'center', }, content: [ { type: 'text', text: 'Example Text', }, ], }, ], }), ) }) })