Files

29 lines
1.3 KiB
TypeScript

import { describe, expect, test } from "bun:test"
import path from "path"
import { isWithinRoot, pickNarrowestDirectory } from "../../src/sandbox/path"
describe("sandbox.policy directory resolution", () => {
test("strict: prefer nested instance dir over broad session dir", () => {
const projectRoot = path.resolve("C:/workspace/test-qimingclaw")
const sessionCwd = path.resolve(
"C:/workspace/test-qimingclaw/computer-project-workspace/1746495851/1549540",
)
expect(isWithinRoot(sessionCwd, projectRoot)).toBe(true)
const picked = pickNarrowestDirectory(projectRoot, sessionCwd)
expect(picked).toBe(sessionCwd)
const sibling = path.resolve(
"C:/workspace/test-qimingclaw/computer-project-workspace/1746495851/1549499/out.txt",
)
expect(isWithinRoot(sibling, picked)).toBe(false)
})
test("strict: prefer nested session dir when instance bootstrap is broad", () => {
const projectRoot = path.resolve("C:/workspace/test-qimingclaw")
const sessionCwd = path.resolve(
"C:/workspace/test-qimingclaw/computer-project-workspace/1746495851/1549542",
)
const picked = pickNarrowestDirectory(projectRoot, sessionCwd)
expect(picked).toBe(sessionCwd)
})
})