mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-26 11:12:53 +00:00
57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
import path from "node:path";
|
|
import { describe, expect, test } from "vitest";
|
|
import {
|
|
buildElectronFlags,
|
|
resolveDevUserDataDir,
|
|
selectRemoteDebuggingPort,
|
|
} from "./dev-runtime-config.mjs";
|
|
|
|
describe("desktop dev runtime isolation", () => {
|
|
test("scopes inherited user data to the explicitly selected dev root", () => {
|
|
expect(
|
|
resolveDevUserDataDir({
|
|
devRoot: "/worktrees/feature-a",
|
|
inheritedUserDataDir: "/checkouts/paseo/.dev/user-data",
|
|
}),
|
|
).toBe(path.join("/worktrees/feature-a", ".dev", "user-data"));
|
|
});
|
|
|
|
test("keeps an explicit user data override outside a managed dev root", () => {
|
|
expect(
|
|
resolveDevUserDataDir({
|
|
inheritedUserDataDir: "/tmp/paseo-user-data",
|
|
fallbackRoot: "/checkouts/paseo",
|
|
}),
|
|
).toBe("/tmp/paseo-user-data");
|
|
});
|
|
|
|
test("replaces an inherited CDP flag with this instance's selected port", () => {
|
|
expect(buildElectronFlags("--disable-gpu --remote-debugging-port=9223", 43127)).toBe(
|
|
"--disable-gpu --remote-debugging-port=43127",
|
|
);
|
|
});
|
|
|
|
test("selects another CDP port when the default is occupied", async () => {
|
|
const selectedPort = await selectRemoteDebuggingPort({
|
|
preferredPort: 9223,
|
|
findAvailablePort: async (preferredPort) => {
|
|
expect(preferredPort).toBe(9223);
|
|
return 43127;
|
|
},
|
|
});
|
|
|
|
expect(selectedPort).toBe(43127);
|
|
});
|
|
|
|
test("honors an explicit CDP port without silently changing it", async () => {
|
|
const selectedPort = await selectRemoteDebuggingPort({
|
|
configuredPort: "9333",
|
|
findAvailablePort: async () => {
|
|
throw new Error("must not probe an explicit port");
|
|
},
|
|
});
|
|
|
|
expect(selectedPort).toBe(9333);
|
|
});
|
|
});
|