one
Version:
One is a new React Framework that makes Vite serve both native and web.
66 lines (64 loc) • 3.73 kB
JavaScript
;
var import_vitest = require("vitest");
var import_path = require("./path.native.js");
var originalBaseUrl = process.env.EXPO_BASE_URL;
var originalNodeEnv = process.env.NODE_ENV;
(0, import_vitest.afterEach)(function () {
if (originalBaseUrl === void 0) {
delete process.env.EXPO_BASE_URL;
} else {
process.env.EXPO_BASE_URL = originalBaseUrl;
}
if (originalNodeEnv === void 0) {
delete process.env.NODE_ENV;
} else {
process.env.NODE_ENV = originalNodeEnv;
}
});
(0, import_vitest.describe)("hasLostDynamicSegment", function () {
(0, import_vitest.it)('detects a literal "undefined" segment', function () {
(0, import_vitest.expect)((0, import_path.hasLostDynamicSegment)("/p/undefined")).toBe(true);
(0, import_vitest.expect)((0, import_path.hasLostDynamicSegment)("/users/undefined/posts")).toBe(true);
(0, import_vitest.expect)((0, import_path.hasLostDynamicSegment)("/undefined")).toBe(true);
});
(0, import_vitest.it)('does not match "undefined" inside another segment', function () {
(0, import_vitest.expect)((0, import_path.hasLostDynamicSegment)("/p/undefined-things")).toBe(false);
(0, import_vitest.expect)((0, import_path.hasLostDynamicSegment)("/p/notundefined")).toBe(false);
(0, import_vitest.expect)((0, import_path.hasLostDynamicSegment)("/p/foo-undefined-bar")).toBe(false);
});
(0, import_vitest.it)("ignores search and hash values", function () {
(0, import_vitest.expect)((0, import_path.hasLostDynamicSegment)("/p/undefined?tab=profile")).toBe(true);
(0, import_vitest.expect)((0, import_path.hasLostDynamicSegment)("/p/mai1015?x=undefined")).toBe(false);
(0, import_vitest.expect)((0, import_path.hasLostDynamicSegment)("/p/mai1015#undefined")).toBe(false);
});
});
(0, import_vitest.describe)("normalizeRoutePathname", function () {
(0, import_vitest.it)("strips search, hash, and trailing slash", function () {
(0, import_vitest.expect)((0, import_path.normalizeRoutePathname)("/p/mai1015/?tab=profile#top")).toBe("/p/mai1015");
(0, import_vitest.expect)((0, import_path.normalizeRoutePathname)("/")).toBe("/");
});
(0, import_vitest.it)("strips the production base url", function () {
process.env.NODE_ENV = "production";
process.env.EXPO_BASE_URL = "/expo/prefix";
(0, import_vitest.expect)((0, import_path.normalizeRoutePathname)("/expo/prefix/p/mai1015?tab=profile")).toBe("/p/mai1015");
});
});
(0, import_vitest.describe)("getPathWithRecoveredDynamicSegment", function () {
(0, import_vitest.it)("uses the first uncorrupted candidate path", function () {
(0, import_vitest.expect)((0, import_path.getPathWithRecoveredDynamicSegment)(["/p/undefined", "/p/mai1015?tab=profile"], "/p/browser?tab=profile")).toBe("/p/mai1015?tab=profile");
});
(0, import_vitest.it)("keeps an empty uncorrupted candidate path", function () {
(0, import_vitest.expect)((0, import_path.getPathWithRecoveredDynamicSegment)([""], "/browser")).toBe("");
});
(0, import_vitest.it)("falls back when every candidate path is corrupted", function () {
(0, import_vitest.expect)((0, import_path.getPathWithRecoveredDynamicSegment)(["/p/undefined"], "/p/browser?tab=profile")).toBe("/p/browser?tab=profile");
});
});
(0, import_vitest.describe)("getPathnameWithRecoveredDynamicSegment", function () {
(0, import_vitest.it)("normalizes the recovered browser pathname", function () {
process.env.NODE_ENV = "production";
process.env.EXPO_BASE_URL = "/expo/prefix";
(0, import_vitest.expect)((0, import_path.getPathnameWithRecoveredDynamicSegment)("/p/undefined", "/expo/prefix/p/mai1015?tab=profile")).toBe("/p/mai1015");
});
});
//# sourceMappingURL=path.test.native.js.map