one
Version:
One is a new React Framework that makes Vite serve both native and web.
63 lines (61 loc) • 4.45 kB
JavaScript
;
var import_vitest = require("vitest");
var import_url = require("./url.native.js");
(0, import_vitest.describe)("url utils", function () {
(0, import_vitest.describe)("hasFileExtension", function () {
(0, import_vitest.it)("returns true for common file extensions", function () {
(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", function () {
(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", function () {
(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", function () {
(0, import_vitest.expect)((0, import_url.hasFileExtension)("")).toBe(false);
});
});
(0, import_vitest.describe)("shouldPreloadRoute", function () {
(0, import_vitest.it)("returns true for valid internal routes", function () {
(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", function () {
(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", function () {
(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", function () {
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("#section")).toBe(false);
(0, import_vitest.expect)((0, import_url.shouldPreloadRoute)("")).toBe(false);
});
});
});
//# sourceMappingURL=url.test.native.js.map