You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

26 lines
819 B

import { describe, expect, it } from 'vitest'
import { parseEditorJsonToText, plainTextToTipTapDoc } from '@/lib/tiptap'
describe('plainTextToTipTapDoc', () => {
it('round-trips simple lines', () => {
const plain = 'hello\nworld'
const doc = plainTextToTipTapDoc(plain)
expect(parseEditorJsonToText(doc).trim()).toBe(plain)
})
it('handles empty string', () => {
const doc = plainTextToTipTapDoc('')
expect(parseEditorJsonToText(doc).trim()).toBe('')
})
it('handles blank line between paragraphs', () => {
const plain = 'a\n\nb'
const doc = plainTextToTipTapDoc(plain)
expect(parseEditorJsonToText(doc).trim()).toBe(plain)
})
it('normalizes CRLF', () => {
const doc = plainTextToTipTapDoc('x\r\ny')
expect(parseEditorJsonToText(doc).trim()).toBe('x\ny')
})
})