UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

101 lines (99 loc) 5.92 kB
"use strict"; var import_vitest = require("vitest"); var import_getPathnameFromFilePath = require("./getPathnameFromFilePath.native.js"); (0, import_vitest.describe)("getPathnameFromFilePath", function () { (0, import_vitest.it)("index route", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/index+spa.tsx")).toBe("/"); }); (0, import_vitest.it)("simple page", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/about+ssg.tsx")).toBe("/about"); }); (0, import_vitest.it)("dynamic param", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/[serverId]/index+spa.tsx")).toBe("/:serverId/"); }); (0, import_vitest.it)("nested dynamic params", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/[serverId]/[channelId]/index+spa.tsx")).toBe("/:serverId/:channelId/"); }); (0, import_vitest.it)("catch-all route without params", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/docs/[...slug]+ssg.tsx")).toBe("/docs/*"); }); (0, import_vitest.it)("catch-all route with params", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/docs/[...slug]+ssg.tsx", { slug: "intro/basics" })).toBe("/docs/intro/basics"); }); (0, import_vitest.it)("route groups are stripped", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/(site)/(legal)/terms+ssg.tsx")).toBe("/terms"); }); (0, import_vitest.it)("nested path", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/dashboard/settings/index+ssr.tsx")).toBe("/dashboard/settings/"); }); (0, import_vitest.it)("folder render mode suffix stripped", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/folder+ssr/page+ssg.tsx")).toBe("/folder/page"); }); (0, import_vitest.it)("+not-found route", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/not-found/+not-found+ssg.tsx")).toBe("/not-found/+not-found"); }); (0, import_vitest.it)("dynamic param with +not-found", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/[slug]/+not-found+ssr.tsx")).toBe("/:slug/+not-found"); }); (0, import_vitest.it)("underscore-prefixed path segment", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/_/home/index+spa.tsx")).toBe("/_/home/"); }); (0, import_vitest.describe)("input must start with / not ./", function () { (0, import_vitest.it)('"./" prefix produces wrong keys', function () { var broken = (0, import_getPathnameFromFilePath.getPathnameFromFilePath)("./[serverId]/index+spa.tsx"); (0, import_vitest.expect)(broken).toBe("./:serverId/"); (0, import_vitest.expect)(broken).not.toBe("/:serverId/"); }); (0, import_vitest.it)('"/" prefix produces correct keys', function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/[serverId]/index+spa.tsx")).toBe("/:serverId/"); }); (0, import_vitest.it)('"./" root produces wrong key', function () { var broken = (0, import_getPathnameFromFilePath.getPathnameFromFilePath)("./index+spa.tsx"); (0, import_vitest.expect)(broken).toBe("./"); (0, import_vitest.expect)(broken).not.toBe("/"); }); (0, import_vitest.it)('"/" root produces correct key', function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/index+spa.tsx")).toBe("/"); }); }); (0, import_vitest.describe)("with params substitution", function () { (0, import_vitest.it)("substitutes dynamic param", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/ssr/[param]+ssr.tsx", { param: "hello" })).toBe("/ssr/hello"); }); (0, import_vitest.it)("substitutes params in both dirname and filename", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/servers/[serverId]/[channelId]+spa.tsx", { serverId: "abc", channelId: "123" })).toBe("/servers/abc/123"); }); (0, import_vitest.it)("substitutes dirname params for SSG dynamic routes", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/[lang]/index+ssg.tsx", { lang: "en" }, true)).toBe("/en/"); (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/[lang]/index+ssg.tsx", { lang: "ko" }, true)).toBe("/ko/"); }); (0, import_vitest.it)("substitutes nested dirname params", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/[lang]/[region]/index+ssg.tsx", { lang: "en", region: "us" }, true)).toBe("/en/us/"); }); }); (0, import_vitest.describe)("strict mode", function () { (0, import_vitest.it)("throws on missing param in strict mode", function () { (0, import_vitest.expect)(function () { return (0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/[id]+ssr.tsx", {}, true); }).toThrow("Params doesn't fit route"); }); (0, import_vitest.it)("returns placeholder in non-strict mode", function () { (0, import_vitest.expect)((0, import_getPathnameFromFilePath.getPathnameFromFilePath)("/[id]+ssr.tsx", {}, false)).toBe("/:id"); }); }); }); //# sourceMappingURL=getPathnameFromFilePath.test.native.js.map