native macOS codings agent orchestrator prowl.onev.cat
Something went wrong. Try again.
Swift
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687import Foundationimport Testing
@testable import Prowl
struct CanvasFocusResolverTests { @Test func worktreeTargetSelectsFirstCardWhenNothingIsFocused() { let worktreeID = "/tmp/repo/main" let first = TerminalTabID(rawValue: UUID()) let second = TerminalTabID(rawValue: UUID())
let resolved = CanvasFocusResolver.resolve( request: CanvasFocusRequest(id: 1, target: .worktree(worktreeID)), candidates: [ CanvasFocusCandidate(worktreeID: worktreeID, tabID: first), CanvasFocusCandidate(worktreeID: worktreeID, tabID: second), ], currentPrimaryTabID: nil )
#expect(resolved == first) }
@Test func worktreeTargetCyclesFromFocusedCardToNextMatch() { let worktreeID = "/tmp/repo/main" let first = TerminalTabID(rawValue: UUID()) let second = TerminalTabID(rawValue: UUID()) let other = TerminalTabID(rawValue: UUID())
let resolved = CanvasFocusResolver.resolve( request: CanvasFocusRequest(id: 1, target: .worktree(worktreeID)), candidates: [ CanvasFocusCandidate(worktreeID: worktreeID, tabID: first), CanvasFocusCandidate(worktreeID: "/tmp/other/main", tabID: other), CanvasFocusCandidate(worktreeID: worktreeID, tabID: second), ], currentPrimaryTabID: first )
#expect(resolved == second) }
@Test func worktreeTargetWrapsFromLastFocusedCardToFirstMatch() { let worktreeID = "/tmp/repo/main" let first = TerminalTabID(rawValue: UUID()) let second = TerminalTabID(rawValue: UUID())
let resolved = CanvasFocusResolver.resolve( request: CanvasFocusRequest(id: 1, target: .worktree(worktreeID)), candidates: [ CanvasFocusCandidate(worktreeID: worktreeID, tabID: first), CanvasFocusCandidate(worktreeID: worktreeID, tabID: second), ], currentPrimaryTabID: second )
#expect(resolved == first) }
@Test func tabTargetSelectsExactVisibleCard() { let requested = TerminalTabID(rawValue: UUID())
let resolved = CanvasFocusResolver.resolve( request: CanvasFocusRequest(id: 1, target: .tab(requested)), candidates: [ CanvasFocusCandidate(worktreeID: "/tmp/repo/main", tabID: TerminalTabID(rawValue: UUID())), CanvasFocusCandidate(worktreeID: "/tmp/repo/main", tabID: requested), ], currentPrimaryTabID: nil )
#expect(resolved == requested) }
@Test func tabTargetWaitsWhenExactCardIsNotVisibleYet() { let resolved = CanvasFocusResolver.resolve( request: CanvasFocusRequest(id: 1, target: .tab(TerminalTabID(rawValue: UUID()))), candidates: [ CanvasFocusCandidate(worktreeID: "/tmp/repo/main", tabID: TerminalTabID(rawValue: UUID())) ], currentPrimaryTabID: nil )
#expect(resolved == nil) }}