import domNodeToHTMLString from '../domNodeToHTMLString'; import { parseDOM } from 'htmlparser2'; function parseHTML(html: string) { const root = parseDOM(html); return root[0]; } describe('domNodeToHTMLString', () => { it('should be bijective regarding toSerializableNode from transient-render-engine', () => { const html = '

This is a paragraph.

This is a paragraph.

This is a paragraph.

'; expect(domNodeToHTMLString(parseHTML(html))).toBe(html); }); it('should call reporter argument with every parsed node', () => { const reporter = jest.fn(); const html = '

This is a paragraph.

This is a paragraph.

This is a paragraph.

'; domNodeToHTMLString(parseHTML(html), reporter); expect(reporter).toHaveBeenCalledTimes(7); }); it('should handle tables', () => { const tableSnippet = `
Entry Header 1 Entry Header 2 Entry Header 3
Entry First Line 1 Entry First Line 2 Entry First Line 3
`; expect(domNodeToHTMLString(parseHTML(tableSnippet))).toBe(tableSnippet); }); it('should handle null values', () => { expect(domNodeToHTMLString(null)).toBe(''); }); });