import { renderToStaticMarkup } from 'react-dom/server'; import { describe, expect, it } from 'vitest'; import { PreviewModal } from '../../src/components/PreviewModal'; describe('PreviewModal sandbox isolation', () => { it('renders generated previews without same-origin sandbox access', () => { const markup = renderToStaticMarkup( window.parent.document.body.innerHTML="owned"', }, ]} exportTitleFor={() => 'unsafe-preview'} onClose={() => {}} />, ); expect(markup).toContain('sandbox="allow-scripts"'); expect(markup).not.toContain('allow-same-origin'); expect(markup).toContain('srcDoc='); }); it('keeps deck srcdoc handling for deck preview views', () => { const markup = renderToStaticMarkup( one
two
', deck: true, }, ]} exportTitleFor={() => 'deck-preview'} onClose={() => {}} />, ); expect(markup).toContain('sandbox="allow-scripts"'); expect(markup).not.toContain('allow-same-origin'); expect(markup).toContain('od:slide'); }); });