one
Version:
One is a new React Framework that makes Vite serve both native and web.
45 lines (43 loc) • 3.23 kB
JavaScript
;
var import_vitest = require("vitest");
var import_sourceInspectorPlugin = require("./sourceInspectorPlugin.native.js");
(0, import_vitest.describe)("sourceInspectorPlugin helpers", function () {
(0, import_vitest.describe)("getSourceInspectorPath", function () {
(0, import_vitest.it)("keeps project files relative to the current cwd", function () {
(0, import_vitest.expect)((0, import_sourceInspectorPlugin.getSourceInspectorPath)("/repo/packages/one/src/App.tsx", "/repo")).toBe("/packages/one/src/App.tsx");
});
(0, import_vitest.it)("does not strip matching path prefixes from files outside cwd", function () {
(0, import_vitest.expect)((0, import_sourceInspectorPlugin.getSourceInspectorPath)("/repo-other/packages/one/src/App.tsx", "/repo")).toBe("/repo-other/packages/one/src/App.tsx");
});
});
(0, import_vitest.describe)("resolveEditorFilePath", function () {
(0, import_vitest.it)("resolves project-relative source paths against cwd", function () {
var fileExists = function (filePath) {
return filePath === "/repo/packages/one/src/App.tsx";
};
(0, import_vitest.expect)((0, import_sourceInspectorPlugin.resolveEditorFilePath)("/packages/one/src/App.tsx", "/repo", fileExists)).toBe("/repo/packages/one/src/App.tsx");
});
(0, import_vitest.it)("preserves absolute source paths for files outside cwd", function () {
(0, import_vitest.expect)((0, import_sourceInspectorPlugin.resolveEditorFilePath)("/Users/n8/shared/ui/Button.tsx", "/repo/apps/site", function () {
return false;
})).toBe("/Users/n8/shared/ui/Button.tsx");
});
});
(0, import_vitest.describe)("injectSourceToJsx", function () {
(0, import_vitest.it)("tags dom elements and components but leaves custom reconciler tags alone", async function () {
var _ref;
var out = await (0, import_sourceInspectorPlugin.injectSourceToJsx)(["export const Scene = () => (", " <div>", " <Canvas>", " <mesh position={[0, 1, 0]}>", " <boxGeometry />", ' <meshStandardMaterial color="red" />', " </mesh>", " <instancedMesh args={[geometry, material, 4]} />", " </Canvas>", ' <svg><linearGradient id="g" /></svg>', " </div>", ")"].join("\n"), `${process.cwd()}/src/Scene.tsx`);
var code = (_ref = out === null || out === void 0 ? void 0 : out.code) !== null && _ref !== void 0 ? _ref : "";
(0, import_vitest.expect)(code).toContain("<div data-one-source=");
(0, import_vitest.expect)(code).toContain("<Canvas data-one-source=");
(0, import_vitest.expect)(code).toContain("<svg data-one-source=");
(0, import_vitest.expect)(code).toContain("<linearGradient data-one-source=");
(0, import_vitest.expect)(code).toContain("<mesh position=");
(0, import_vitest.expect)(code).toContain("<boxGeometry />");
(0, import_vitest.expect)(code).toContain("<meshStandardMaterial color=");
(0, import_vitest.expect)(code).toContain("<instancedMesh args=");
(0, import_vitest.expect)(code).not.toMatch(/<(mesh|boxGeometry|meshStandardMaterial|instancedMesh) data-one-source/);
});
});
});
//# sourceMappingURL=sourceInspectorPlugin.test.native.js.map