[3]') expect(html).toContain('B') expect(html).not.toContain('
[7]
') expect(html).toContain('B') expect(html).not.toContain('[7]') } finally { removeCustomComponents(scopeId) } }) it('lets block-marked custom html tags break out of paragraph wrappers on the client', async () => { const scopeId = 'react-blockish-inline-tag-client' const BlockRef = withMarkstreamComponentDisplay(({ node }: { node: { content?: string } }) => (A
A
A
') expect(html).toContain('B
') } finally { removeCustomComponents(scopeId) } }) it('renders the real multiline issue-386 input in streaming mode without leaking raw superscript syntax', async () => { const view = await renderMarkdown(REAL_WORLD_MULTILINE_INPUT, { final: false }) const superscripts = Array.from(view.host.querySelectorAll('sup.superscript-node')).map(node => node.textContent) const inlineHtmlSup = Array.from(view.host.querySelectorAll('.html-inline-node sup')).map(node => node.textContent) expect(view.host.querySelector('.katex')).toBeTruthy() expect(superscripts).toEqual(['[1]', '[1]', '[1]', '[1]', '[1]', '[1]', '[1]']) expect(inlineHtmlSup).toEqual(['[3]', '[1]', '[12]', '[3]', '[3]', '[12]']) expect(view.host.textContent).not.toContain('^[1]^') await view.unmount() }) })