test: add unit tests for the asset map hooks - #1335
Merged
stevenle merged 1 commit intoJul 30, 2026
Merged
Conversation
Covers `useAssetUrl()`/`useAsset()`/`useAssetMap()` against both the `preact-render-to-string` and `@blinkk/root/jsx` renderers, and the `DevServerAssetMap` path containment checks. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XdqjF4kM5drMB4vSLGsqvf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds test coverage for the
useAssetUrl()hook introduced in #1334, which thisbranch targets so the diff is tests only.
src/core/hooks/useAssetMap.test.tsxRenders components through a stub
AssetMapand asserts:useAssetUrl()resolves a src to its compiled asset URL, run against bothrenderers (
preact-render-to-stringand@blinkk/root/jsx), since therenderer is picked by the
jsxRendererconfig inroot.config.ts./on the src is normalized away.assetUrlthrow.useAsset()returns the asset from the module graph.useAssetMap()throws when rendered outside ofASSET_MAP_CONTEXT.src/render/asset-map/dev-asset-map.test.tsCovers the path containment checks in
DevServerAssetMap.get(), which changedfrom
file.startsWith(rootDir)+ the asyncdirectoryContains()infsutilsto a local synchronous helper:
<ws>/site-legacyvs.<ws>/site) is served from/@fs/instead of producing the truncated-legacy/main.tsURL the old prefix check returned.ENOENT, which the oldrealpath()-based check did.nulland log.The suite builds a temp workspace with a
pnpm-workspace.yamlso vite'ssearchForWorkspaceRoot()resolves deterministically.Testing
pnpm testinpackages/root: 38 files / 216 tests passing.pnpm lintisclean. No changeset — tests only, and #1334 already carries one.
Generated with Claude Code.
Generated by Claude Code