fix startup packaging and content guardrails
This commit is contained in:
48
tests/pi-web-access-patch.test.ts
Normal file
48
tests/pi-web-access-patch.test.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
|
||||
import { patchPiWebAccessSource } from "../scripts/lib/pi-web-access-patch.mjs";
|
||||
|
||||
test("patchPiWebAccessSource rewrites legacy Pi web-search config paths", () => {
|
||||
const input = [
|
||||
'import { join } from "node:path";',
|
||||
'import { homedir } from "node:os";',
|
||||
'const CONFIG_PATH = join(homedir(), ".pi", "web-search.json");',
|
||||
"",
|
||||
].join("\n");
|
||||
|
||||
const patched = patchPiWebAccessSource("perplexity.ts", input);
|
||||
|
||||
assert.match(patched, /FEYNMAN_WEB_SEARCH_CONFIG/);
|
||||
assert.match(patched, /PI_WEB_SEARCH_CONFIG/);
|
||||
});
|
||||
|
||||
test("patchPiWebAccessSource updates index.ts directory handling", () => {
|
||||
const input = [
|
||||
'import { existsSync, mkdirSync } from "node:fs";',
|
||||
'import { join } from "node:path";',
|
||||
'import { homedir } from "node:os";',
|
||||
'const WEB_SEARCH_CONFIG_PATH = join(homedir(), ".pi", "web-search.json");',
|
||||
'const dir = join(homedir(), ".pi");',
|
||||
"",
|
||||
].join("\n");
|
||||
|
||||
const patched = patchPiWebAccessSource("index.ts", input);
|
||||
|
||||
assert.match(patched, /import \{ dirname, join \} from "node:path";/);
|
||||
assert.match(patched, /const dir = dirname\(WEB_SEARCH_CONFIG_PATH\);/);
|
||||
});
|
||||
|
||||
test("patchPiWebAccessSource is idempotent", () => {
|
||||
const input = [
|
||||
'import { join } from "node:path";',
|
||||
'import { homedir } from "node:os";',
|
||||
'const CONFIG_PATH = join(homedir(), ".pi", "web-search.json");',
|
||||
"",
|
||||
].join("\n");
|
||||
|
||||
const once = patchPiWebAccessSource("perplexity.ts", input);
|
||||
const twice = patchPiWebAccessSource("perplexity.ts", once);
|
||||
|
||||
assert.equal(twice, once);
|
||||
});
|
||||
Reference in New Issue
Block a user