import { test, expect } from '@playwright/test'; test('loader injects dependency script urls', async ({ page }) => { page.on('console', msg => console.log('BROWSER LOG:', msg.text())); await page.setContent(`
loading
`, { waitUntil: 'commit' }); await page.waitForFunction(() => typeof window.__apigo_load === 'function'); await page.waitForFunction(() => document.readyState !== 'loading'); const urls = await page.evaluate(() => { const captured = []; const originalAppend = document.head.appendChild.bind(document.head); document.head.appendChild = node => { if (node && node.tagName === 'SCRIPT' && node.src) { captured.push(node.src); } return node; }; __apigo_load('state', 'bootstrap', 'base'); document.head.appendChild = originalAppend; return captured; }); expect(urls).toEqual([ 'https://cdn.jsdelivr.net/npm/@apigo.cc/state@1.0.23/dist/state.js', 'https://cdn.jsdelivr.net/npm/@apigo.cc/bootstrap@1.0.9/dist/bootstrap.js', 'https://cdn.jsdelivr.net/npm/@apigo.cc/base@1.0.23/dist/base.js' ]); });