Skip to main content
Glama
FocusTargetResolverTests.swift2.97 kB
import CoreGraphics import PeekabooCore import Testing @testable import PeekabooCLI @Suite("Focus target resolution") struct FocusTargetResolverTests { @Test("explicit windowID always wins") func explicitWindowIdWins() { let snapshot = UIAutomationSnapshot( applicationBundleId: "com.example.app", windowTitle: "X", windowID: 42 ) let result = FocusTargetResolver.resolve( windowID: 777, snapshot: snapshot, applicationName: "Safari", windowTitle: "GitHub" ) #expect(result == .windowId(777)) } @Test("snapshot windowID wins when present") func snapshotWindowIdWins() { let snapshot = UIAutomationSnapshot( applicationBundleId: "com.example.app", windowTitle: "X", windowID: 42 ) let result = FocusTargetResolver.resolve( windowID: nil, snapshot: snapshot, applicationName: "Safari", windowTitle: "GitHub" ) #expect(result == .windowId(42)) } @Test("snapshot without windowID falls back to bundleId + title") func snapshotWithoutWindowIdFallsBackToBestWindow() { let snapshot = UIAutomationSnapshot( applicationBundleId: "com.example.app", windowTitle: "My Window", windowID: nil ) let result = FocusTargetResolver.resolve( windowID: nil, snapshot: snapshot, applicationName: nil, windowTitle: nil ) #expect(result == .bestWindow(applicationName: "com.example.app", windowTitle: "My Window")) } @Test("explicit app/title override snapshot metadata when windowID missing") func explicitAppTitleOverrideSnapshotWhenWindowIdMissing() { let snapshot = UIAutomationSnapshot( applicationBundleId: "com.example.app", windowTitle: "Old Title", windowID: nil ) let result = FocusTargetResolver.resolve( windowID: nil, snapshot: snapshot, applicationName: "Safari", windowTitle: "GitHub" ) #expect(result == .bestWindow(applicationName: "Safari", windowTitle: "GitHub")) } @Test("no snapshot, app resolves to best window") func appWithoutSnapshotResolves() { let result = FocusTargetResolver.resolve( windowID: nil, snapshot: nil, applicationName: "Safari", windowTitle: nil ) #expect(result == .bestWindow(applicationName: "Safari", windowTitle: nil)) } @Test("no inputs returns nil") func noInputsReturnsNil() { let result = FocusTargetResolver.resolve( windowID: nil, snapshot: nil, applicationName: nil, windowTitle: nil ) #expect(result == nil) } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/steipete/Peekaboo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server