feat(ios): W0 scaffold + day-1 spike + WireProtocol frozen contract + TestSupport doubles
T-iOS-1: ios/ XcodeGen project (iOS 17, Swift 6 strict concurrency, ATS per PLAN §5.2), 5 SPM package shells, CI skeleton T-iOS-2: Origin spike vs real server — URLSessionWebSocketTask custom Origin CONFIRMED (no Starscream); 16MiB replay + EMSGSIZE(40) errno correction written back to plan T-iOS-3: WireProtocol frozen contract, 59 tests, 100% line coverage, cross-impl vectors vs src/protocol.ts via tsx T-iOS-4: FakeTransport/FakeClock/FakeHTTPTransport doubles Verify: independent agent re-ran all acceptance — 6/6 PASS
This commit is contained in:
21
ios/Packages/TestSupport/Package.swift
Normal file
21
ios/Packages/TestSupport/Package.swift
Normal file
@@ -0,0 +1,21 @@
|
||||
// swift-tools-version: 6.0
|
||||
// T-iOS-4: test doubles leaned on by every W1-W3 task. Depends ONLY on
|
||||
// WireProtocol (the frozen contract) — never on SessionCore/HostRegistry/
|
||||
// APIClient, so it compiles in W0 and leaf packages stay decoupled (plan §6).
|
||||
import PackageDescription
|
||||
|
||||
let package = Package(
|
||||
name: "TestSupport",
|
||||
platforms: [.iOS(.v17), .macOS(.v14)],
|
||||
products: [
|
||||
.library(name: "TestSupport", targets: ["TestSupport"]),
|
||||
],
|
||||
dependencies: [
|
||||
.package(path: "../WireProtocol"),
|
||||
],
|
||||
targets: [
|
||||
.target(name: "TestSupport", dependencies: ["WireProtocol"]),
|
||||
.testTarget(name: "TestSupportTests", dependencies: ["TestSupport"]),
|
||||
],
|
||||
swiftLanguageModes: [.v6]
|
||||
)
|
||||
Reference in New Issue
Block a user