Uncommitted sx-tools changes: WASM bundles, Playwright specs, engine fixes
WASM browser bundles rebuilt with latest kernel. Playwright test specs updated (helpers, navigation, handler-responses, hypermedia-handlers, isomorphic, SPA navigation). Engine/boot/orchestration SX files updated. Handler examples and not-found page refreshed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -63,16 +63,20 @@ test.describe('SPA navigation', () => {
|
||||
await expect(page.locator('#sx-nav')).toContainText('Click to Load');
|
||||
});
|
||||
|
||||
test('render error scoped to #sx-content via error-boundary', async ({ page }) => {
|
||||
test('content renders inside error-boundary after SPA nav', async ({ page }) => {
|
||||
await page.goto(BASE_URL + '/sx/(geography.(hypermedia.(example)))', { waitUntil: 'networkidle' });
|
||||
|
||||
await page.click('a[sx-get*="click-to-load"]');
|
||||
await page.waitForTimeout(4000);
|
||||
|
||||
// Error should be inside the error boundary within #sx-content
|
||||
// Content should render inside an error boundary (no render error)
|
||||
const boundary = page.locator('#sx-content [data-sx-boundary]');
|
||||
await expect(boundary).toHaveCount(1, { timeout: 2000 }).catch(() => {});
|
||||
await expect(page.locator('#sx-content')).toContainText('Load', { timeout: 3000 });
|
||||
|
||||
// No render errors should be visible
|
||||
const errors = page.locator('#sx-content .sx-render-error');
|
||||
await expect(errors).toHaveCount(1);
|
||||
await expect(errors).toContainText('Render error');
|
||||
await expect(errors).toHaveCount(0);
|
||||
|
||||
// Header should still be intact
|
||||
await expect(page.locator('[data-sx-island="layouts/header"]')).toHaveCount(1);
|
||||
|
||||
Reference in New Issue
Block a user