mirror of
https://github.com/cloudflare/vinext.git
synced 2026-09-14 19:04:59 +08:00
c3dcdba1fe
* fix(pages): honor basePath in dev module loaders * fix(pages): preserve basePath in ISR loaders * style(pages): format dev module loader changes * fix(pages): preserve dynamic route module paths * test(pages): run basePath dev coverage in CI
39 lines
1.4 KiB
TypeScript
39 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vite-plus/test";
|
|
import { createPagesDevModuleUrl } from "../packages/vinext/src/server/pages-dev-module-url.js";
|
|
|
|
describe("createPagesDevModuleUrl", () => {
|
|
it("uses Vite's configured base without applying assetPrefix", () => {
|
|
expect(createPagesDevModuleUrl("/repo", "/repo/pages/about.tsx", "/docs/")).toBe(
|
|
"/docs/pages/about.tsx",
|
|
);
|
|
});
|
|
|
|
it("preserves root-base behavior", () => {
|
|
expect(createPagesDevModuleUrl("/repo", "/repo/pages/about.tsx", "/")).toBe("/pages/about.tsx");
|
|
});
|
|
|
|
it("normalizes Windows paths", () => {
|
|
expect(createPagesDevModuleUrl("C:\\repo", "C:\\repo\\pages\\about.tsx", "/docs/")).toBe(
|
|
"/docs/pages/about.tsx",
|
|
);
|
|
});
|
|
|
|
it("encodes path query and fragment delimiters", () => {
|
|
expect(createPagesDevModuleUrl("/repo", "/repo/pages/what?#.tsx", "/docs/")).toBe(
|
|
"/docs/pages/what%3F%23.tsx",
|
|
);
|
|
});
|
|
|
|
it("preserves dynamic route brackets for Vite module resolution", () => {
|
|
expect(createPagesDevModuleUrl("/repo", "/repo/pages/blog/[slug].tsx", "/docs/")).toBe(
|
|
"/docs/pages/blog/[slug].tsx",
|
|
);
|
|
});
|
|
|
|
it("returns a stable URL for Vite HMR module identity", () => {
|
|
const first = createPagesDevModuleUrl("/repo", "/repo/pages/about.tsx", "/docs/");
|
|
const second = createPagesDevModuleUrl("/repo", "/repo/pages/about.tsx", "/docs/");
|
|
expect(second).toBe(first);
|
|
});
|
|
});
|