UNPKG

one

Version:

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

41 lines (39 loc) 2.92 kB
"use strict"; var import_vitest = require("vitest"); var import_extractPathFromURL = require("./extractPathFromURL.native.js"); var import_getStateFromPath = require("./getStateFromPath.native.js"); var import_testing_utils = require("../testing-utils.native.js"); (0, import_vitest.describe)("extractPathFromURL prefixes", function () { (0, import_vitest.it)("keeps existing custom scheme behavior without prefixes", function () { (0, import_vitest.expect)((0, import_extractPathFromURL.extractPathFromURL)([], "threepunchconvo://thread/123")).toBe("thread/123"); (0, import_vitest.expect)((0, import_extractPathFromURL.extractPathFromURL)([], "threepunchconvo:///thread/123")).toBe("thread/123"); }); (0, import_vitest.it)("strips the longest matching custom scheme prefix", function () { (0, import_vitest.expect)((0, import_extractPathFromURL.extractPathFromURL)(["threepunchconvo://", "threepunchconvo://app"], "threepunchconvo://app/thread/123")).toBe("thread/123"); }); (0, import_vitest.it)("strips universal link prefixes", function () { (0, import_vitest.expect)((0, import_extractPathFromURL.extractPathFromURL)(["https://threepunch.example/app"], "https://threepunch.example/app/thread/123?tab=chat")).toBe("thread/123?tab=chat"); (0, import_vitest.expect)((0, import_extractPathFromURL.extractPathFromURL)(["https://threepunch.example/app"], "https://threepunch.example/app")).toBe(""); (0, import_vitest.expect)((0, import_extractPathFromURL.extractPathFromURL)(["https://threepunch.example/app"], "https://threepunch.example/application/thread/123")).toBe("application/thread/123"); }); (0, import_vitest.it)("strips a prefix when the boundary is a query or hash", function () { (0, import_vitest.expect)((0, import_extractPathFromURL.extractPathFromURL)(["threepunchconvo://app"], "threepunchconvo://app?utm=share")).toBe("?utm=share"); (0, import_vitest.expect)((0, import_extractPathFromURL.extractPathFromURL)(["threepunchconvo://app"], "threepunchconvo://app#section")).toBe("#section"); (0, import_vitest.expect)((0, import_extractPathFromURL.extractPathFromURL)(["https://threepunch.example/app"], "https://threepunch.example/app?ref=share")).toBe("?ref=share"); }); (0, import_vitest.it)("uses stripped paths for route matching", function () { var config = (0, import_testing_utils.getMockConfig)(["_layout.tsx", "index.tsx", "thread/[id].tsx", "+not-found.tsx"]); var path = (0, import_extractPathFromURL.extractPathFromURL)(["threepunchconvo://app"], "threepunchconvo://app/thread/123"); (0, import_vitest.expect)((0, import_getStateFromPath.getStateFromPath)(path, config)).toEqual({ routes: [{ name: "thread/[id]", params: { id: "123" }, key: "thread/[id]-0", path: "thread/123" }] }); }); }); //# sourceMappingURL=extractPathFromURL.test.native.js.map