one
Version:
One is a new React Framework that makes Vite serve both native and web.
60 lines • 1.97 kB
JavaScript
var import_vitest = require("vitest");
var import_useInitializeOneRouter = require("./useInitializeOneRouter.cjs");
const probe = import_vitest.vi.hoisted(() => ({
navigationRef: {
current: null
},
routerNavigationRef: null,
initialize: import_vitest.vi.fn((_context, navigationRef) => {
probe.routerNavigationRef = navigationRef;
})
}));
import_vitest.vi.hoisted(() => {
Object.defineProperty(globalThis, "window", {
configurable: true,
value: {}
});
});
import_vitest.vi.mock("@react-navigation/core", () => ({
useNavigationContainerRef: () => probe.navigationRef
}));
import_vitest.vi.mock("../useLoader", () => ({
resetLoaderState: import_vitest.vi.fn()
}));
import_vitest.vi.mock("./router", () => ({
initialize: probe.initialize,
get navigationRef() {
return probe.routerNavigationRef;
},
routeNode: null,
rootComponent: null,
initialState: void 0
}));
import_vitest.vi.mock("./linkingConfig", () => ({
ensureBaseLinkingConfig: import_vitest.vi.fn(),
getSSRInitialState: import_vitest.vi.fn()
}));
(0, import_vitest.beforeEach)(() => {
probe.initialize.mockClear();
});
(0, import_vitest.test)("initializes a fresh navigation root with its current location", () => {
const context = Object.assign(function routeContext(_id) {
throw new Error("route context is not evaluated by this probe");
}, {
keys: () => [],
resolve: id => id,
id: "preview-lifecycle-probe"
});
const firstRef = {
current: null
};
probe.navigationRef = firstRef;
(0, import_useInitializeOneRouter.useInitializeOneRouter)(context, new URL("https://preview.test/"));
const nextRef = {
current: null
};
const nextLocation = new URL("https://preview.test/home/feed");
probe.navigationRef = nextRef;
(0, import_useInitializeOneRouter.useInitializeOneRouter)(context, nextLocation);
(0, import_vitest.expect)(probe.initialize).toHaveBeenLastCalledWith(context, nextRef, nextLocation, void 0);
});