import { describe, it, expect } from 'vitest';
import {
collectAssetRefs,
createAssetFetcher,
toDataUri,
inlineCssUrls,
inlineHtmlAssets,
} from '@/lib/export/inline-assets';
describe('collectAssetRefs', () => {
it('collects stylesheet link hrefs', () => {
const refs = collectAssetRefs('');
expect(refs).toContainEqual({ kind: 'link', url: 'https://cdn.example/a.css' });
});
it('collects script srcs', () => {
const refs = collectAssetRefs('');
expect(refs).toContainEqual({ kind: 'script', url: 'https://cdn.example/b.js' });
});
it('collects img srcs', () => {
const refs = collectAssetRefs('
');
expect(refs).toContainEqual({ kind: 'img', url: 'https://cdn.example/c.png' });
});
it('collects every responsive image candidate', () => {
const refs = collectAssetRefs(
'
',
);
expect(refs).toContainEqual({ kind: 'srcset', url: 'https://cdn.example/c.png' });
expect(refs).toContainEqual({ kind: 'srcset', url: 'https://cdn.example/c@2x.png' });
});
it('collects external video poster URLs', () => {
const refs = collectAssetRefs('');
expect(refs).toContainEqual({ kind: 'poster', url: 'https://cdn.example/poster.jpg' });
});
it('collects unsupported embedded-document resources for rejection', () => {
const refs = collectAssetRefs(
'' +
'' +
'