test(setup): also disable data-sveltekit-preload-code in browser tests
Some checks failed
Some checks failed
Hover-prefetch has two surfaces in SvelteKit: - data-sveltekit-preload-data (route loader data) - data-sveltekit-preload-code (route JS chunks) The original fix turned off only the loader-data side. Route-code chunks prefetched on hover can also include manually-mocked module URLs; an in-flight code prefetch landing after iframe teardown hits the same Playwright route handler that resolves manual mocks, raising the unhandled rejection. Disable both surfaces. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,8 +1,14 @@
|
||||
// Disable SvelteKit hover-prefetch in browser-mode tests. ADR-012 / #553.
|
||||
// Disable SvelteKit hover-prefetch (both data + code) in browser-mode tests.
|
||||
// ADR-012 / #553.
|
||||
//
|
||||
// Hover-prefetch fires real fetch requests for route loader chunks; those
|
||||
// requests go through the same Playwright route handler that serves mocked
|
||||
// modules. An in-flight prefetch landing after iframe teardown can hit the
|
||||
// route handler with a closed birpc channel, raising an unhandled rejection
|
||||
// that exits the run with code 1 even when every individual test was green.
|
||||
//
|
||||
// `data-sveltekit-preload-data="off"` disables loader-data prefetch;
|
||||
// `data-sveltekit-preload-code="off"` disables route-code chunk prefetch.
|
||||
// Both surfaces can produce late module fetches that hit the route handler.
|
||||
document.body.dataset.sveltekitPreloadData = 'off';
|
||||
document.body.dataset.sveltekitPreloadCode = 'off';
|
||||
|
||||
Reference in New Issue
Block a user