one
Version:
One is a new React Framework that makes Vite serve both native and web.
59 lines • 4.32 kB
JavaScript
var import_vitest = require("vitest");
var import_url = require("./url.cjs");
(0, import_vitest.describe)("url utils", () => {
(0, import_vitest.describe)("hasFileExtension", () => {
(0, import_vitest.it)("returns true for common file extensions", () => {
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/ui/button.md")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/llms.txt")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/favicon.ico")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/assets/image.png")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/doc.pdf")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/data.json")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/archive.zip")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/styles.css")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/script.js")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/manifest.webmanifest")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/font.woff2")).toBe(true);
});
(0, import_vitest.it)("returns true with query params or hashes", () => {
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/ui/button.md?download=1")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/llms.txt#section")).toBe(true);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("https://tamagui.dev/ui/button.md?foo=bar#baz")).toBe(true);
});
(0, import_vitest.it)("returns false for route paths without extensions", () => {
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/")).toBe(false);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/about")).toBe(false);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/ui/button")).toBe(false);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/docs/components/button")).toBe(false);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/v1.0")).toBe(false);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/version-2.1.0")).toBe(false);
(0, import_vitest.expect)((0, import_url.hasFileExtension)("/docs/1.0/intro")).toBe(false);
});
(0, import_vitest.it)("returns false for empty or invalid inputs", () => {
(0, import_vitest.expect)((0, import_url.hasFileExtension)("")).toBe(false);
});
});
(0, import_vitest.describe)("shouldPreloadRoute", () => {
(0, import_vitest.it)("returns true for valid internal routes", () => {
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("/")).toBe(true);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("/about")).toBe(true);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("/ui/button")).toBe(true);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("/docs/components/button")).toBe(true);
});
(0, import_vitest.it)("returns false for file extensions", () => {
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("/ui/button.md")).toBe(false);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("/llms.txt")).toBe(false);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("/favicon.ico")).toBe(false);
});
(0, import_vitest.it)("returns false for external urls or schemes", () => {
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("https://example.com/about")).toBe(false);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("http://example.com")).toBe(false);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("mailto:test@example.com")).toBe(false);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("tel:123456")).toBe(false);
});
(0, import_vitest.it)("returns false for hash links or empty hrefs", () => {
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("#section")).toBe(false);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("")).toBe(false);
});
});
});