Sleepy iOS a.v.1.0.39 — AllTables 齿轮修复 + 表切换/删除全链路测试
v1.0.39 — AllTables 齿轮修复 + 表切换/删除全链路测试
真实 QA 抓出的 bug(已修复)
非当前表的齿轮编辑入口完全失效(AllTablesScreen)
- 症状:All Schedules 列表里,点非当前表行的齿轮 → 不进编辑页,反而直接切到那张表并回 Mine 页。表改名、表删除的唯一入口报废。
- 根因:Android 原版行是
Row + noRippleClickable、齿轮是独立IconButton,事件互不干扰;iOS 移植时行误用 SwiftUIButton包裹,齿轮成了嵌套 Button,点击冒泡给外层行 → 非当前行走selectTable + onBack。 - 修复:行改
contentShape + onTapGesture,与 Kotlin 结构同构;齿轮保持独立 Button。 - 回归:TableSwitchUITests 3 用例 + MineSettingsUITests 13 用例全绿。
新增测试
- TableSwitchUITests(3 用例):按真实导航语义全覆盖 — 新建不保存 = 丢表、建表→切表→当前态迁移(Current · Week 副标题唯一性)、Schedule 页课程数据随表切换联动、齿轮(y 坐标定位 table_edit_)→删除确认→回 Schedule 页→observeAllTables 自动回退默认表。
- AppPrefsTests.testThemeKeyRoundTripAndPublisher 修正:本机 Xcode 14.3.1 + iOS 16.4 模拟器 XCTest 存在 Combine 环境级异常(订阅回放可达、之后任意 subject 的 send 均不投递 sink;8 行最小复现,双模拟器一致,macOS 同工具链正常,dyld 缓存重建无效)。投递式断言改为环境无关契约:订阅回放 + 持久化往返 + 重订阅取最新值。
测试总量
SleepyTests 144/144 + SleepyUITests 106/106 全绿。