Commit Graph

2 Commits

Author SHA1 Message Date
jay 89c27c0eae test(T-2.1/2.2/2.3): unit tests for FrameCodec, ResumeCursor, Pairing, Keychain, Theme
78 test functions across 5 test files:
- FrameCodecTests.swift (24): BinaryFrame.decode, ClientToServer encoding,
  ServerToClient decoding, round-trip — full IC-1 field name verification
- ResumeCursorTests.swift (12): save/load, overwrite, UInt64.max, clear,
  multi-session isolation — each test uses isolated UserDefaults suite
- PairingTests.swift (18): parseQR happy-path, missing params, wrong scheme,
  missing port, error type assertions
- KeychainTests.swift (7): round-trip SidecarCredential, upsert, notFound,
  delete, production key guard, generic Codable
- ThemeTests.swift (17): ansiColors count, color range, dark≠github,
  SwiftTerm conversion, ThemeStore select, Codable round-trip

Review notes: Tests/CoreTests/REVIEW_NOTES.md
- feat/p2-t2-2-pairing branch was EMPTY; Auth/Pairing code on t2-3-terminal
- IC-1 compliance: all JSON field names correct including 'awaiting-input'
- Minor: Keychain.encodingFailed used for decode failure (misleading name)
- Merge order: t2-1 → t2-3 → t2-2 (empty) → p2-tests
2026-05-15 18:33:26 +02:00
Johannes Merz aa010cf874 feat(T-2.0): Xcode project scaffold — SwiftUI shell, SwiftTerm + Starscream SPM deps
- xcodegen project.yml: de.vpsj.pi-remote, team KNXX8R3648, iOS 17+
- SwiftTerm 1.13.0, Starscream 4.0.8 resolved
- App entry point + ContentView hello shell
- Push Notifications entitlement (aps-environment: development)
- pi-remote:// URL scheme registered
- NSCameraUsageDescription (QR pairing), NSFaceIDUsageDescription
- UIBackgroundModes: remote-notification
2026-05-15 13:19:48 +02:00