native macOS codings agent orchestrator prowl.onev.cat
Something went wrong. Try again.
Swift
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455// App/Tests/CLITargetSelectorTests.swift// Tests for TargetSelector mutual exclusivity and encoding.
import Foundationimport ProwlCLISharedimport Testing
@testable import Prowl
struct CLITargetSelectorTests {
// MARK: - Encoding stability
@Test func selectorNoneRoundTrips() throws { let selector = TargetSelector.none let data = try JSONEncoder().encode(selector) let decoded = try JSONDecoder().decode(TargetSelector.self, from: data) #expect(decoded == .none) }
@Test func selectorWorktreeRoundTrips() throws { let selector = TargetSelector.worktree("my-project") let data = try JSONEncoder().encode(selector) let decoded = try JSONDecoder().decode(TargetSelector.self, from: data) #expect(decoded == .worktree("my-project")) }
@Test func selectorTabRoundTrips() throws { let selector = TargetSelector.tab("tab-uuid-123") let data = try JSONEncoder().encode(selector) let decoded = try JSONDecoder().decode(TargetSelector.self, from: data) #expect(decoded == .tab("tab-uuid-123")) }
@Test func selectorPaneRoundTrips() throws { let selector = TargetSelector.pane("pane-0") let data = try JSONEncoder().encode(selector) let decoded = try JSONDecoder().decode(TargetSelector.self, from: data) #expect(decoded == .pane("pane-0")) }
// MARK: - Equality
@Test func differentSelectorsAreNotEqual() { #expect(TargetSelector.worktree("a") != TargetSelector.tab("a")) #expect(TargetSelector.tab("a") != TargetSelector.pane("a")) #expect(TargetSelector.none != TargetSelector.worktree("")) }
@Test func sameSelectorsAreEqual() { #expect(TargetSelector.worktree("x") == TargetSelector.worktree("x")) #expect(TargetSelector.none == TargetSelector.none) }}