native macOS codings agent orchestrator prowl.onev.cat
Something went wrong. Try again.
Swift
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import Foundationimport Testing
@testable import Prowl
struct SnapshotRestoreTests { @Test func resolveSnapshotWorkingDirectoryAcceptsAbsolutePathWithinWorktree() throws { let fileManager = FileManager.default let worktreeRoot = try makeTemporaryDirectory(fileManager: fileManager) defer { try? fileManager.removeItem(at: worktreeRoot) }
let nested = worktreeRoot.appending(path: "src", directoryHint: .isDirectory) try fileManager.createDirectory(at: nested, withIntermediateDirectories: true)
let resolved = WorktreeTerminalState.resolveSnapshotWorkingDirectory( from: nested.path(percentEncoded: false), worktreeRoot: worktreeRoot, fileManager: fileManager )
#expect(resolved == nested.standardizedFileURL) }
@Test func resolveSnapshotWorkingDirectoryAcceptsRelativePathWithinWorktree() throws { let fileManager = FileManager.default let worktreeRoot = try makeTemporaryDirectory(fileManager: fileManager) defer { try? fileManager.removeItem(at: worktreeRoot) }
let nested = worktreeRoot.appending(path: "relative/path", directoryHint: .isDirectory) try fileManager.createDirectory(at: nested, withIntermediateDirectories: true)
let resolved = WorktreeTerminalState.resolveSnapshotWorkingDirectory( from: "relative/path", worktreeRoot: worktreeRoot, fileManager: fileManager )
#expect(resolved == nested.standardizedFileURL) }
@Test func resolveSnapshotWorkingDirectoryRejectsMissingOrOutsidePath() throws { let fileManager = FileManager.default let worktreeRoot = try makeTemporaryDirectory(fileManager: fileManager) let outsideRoot = try makeTemporaryDirectory(fileManager: fileManager) defer { try? fileManager.removeItem(at: worktreeRoot) try? fileManager.removeItem(at: outsideRoot) }
let outsidePath = outsideRoot.appending(path: "outside", directoryHint: .isDirectory) try fileManager.createDirectory(at: outsidePath, withIntermediateDirectories: true)
let missing = WorktreeTerminalState.resolveSnapshotWorkingDirectory( from: worktreeRoot.appending(path: "does-not-exist", directoryHint: .isDirectory) .path(percentEncoded: false), worktreeRoot: worktreeRoot, fileManager: fileManager ) let outside = WorktreeTerminalState.resolveSnapshotWorkingDirectory( from: outsidePath.path(percentEncoded: false), worktreeRoot: worktreeRoot, fileManager: fileManager )
#expect(missing == nil) #expect(outside == nil) }}
private func makeTemporaryDirectory(fileManager: FileManager) throws -> URL { let url = fileManager.temporaryDirectory.appending( path: "worktree-terminal-state-tests-\(UUID().uuidString)", directoryHint: .isDirectory ) try fileManager.createDirectory(at: url, withIntermediateDirectories: true) return url}