Files
ElyOffice/tasks/reviews/C05.4-r1.md
T

12 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FAIL
crates/ely-ui/examples/shell/main.rs:316 — 删除对话框把任意未修饰的 Enter 松键都送到 `delete_confirmed`,忽略当前焦点。复现:打开 Page One 的删除确认,按 Tab 让 Cancel 显示焦点环,再按 Enter;实际删除 Page One,只剩 Page Two,违反 UX-03、UX-07。隔离探针与截图均确认此路径。修复方向:让 Cancel 和 Delete Page 各自响应键盘激活,通过组件的确认及关闭流程执行操作并归还焦点;补 Cancel 上 Enter/Space 保留对象的测试。
crates/ely-ui/src/tasks.rs:65 — `tick(done)` 在前台实体更新闭包内同步执行,长任务会阻塞窗口和取消操作,违反 UX-05。复现:以 600 毫秒的同步工作模拟一次导出步骤;探针确认回调与 UI 位于同一线程,原定 50 毫秒执行的 UI 定时器延迟至约 628 毫秒。现有任务测试的回调立即返回,覆盖不到此路径。修复方向:将实际工作放入后台执行器或工作进程,向 UI 传回进度和结果,并使工作接受取消信号;测试耗时工作期间的窗口响应及取消。
crates/ely-ui/examples/shell/main.rs:171 — 删除最后一页后仍索引 `self.pages[0]`,并把选择设为已失效的 `[0]`。复现:沿现有探针先删除 Page Two,再确认删除剩余 Page One;进程因 `index out of bounds: the len is 0 but the index is 0` 中止。修复方向:为删除后的空页面集合清空当前页与选择,渲染空状态,让属性计算及重命名、删除入口处理空选择;补连续删除到零页的测试。
crates/ely-ui/examples/shell/main.rs:258 — 任务状态的唯一操作始终调用 `cancel_task`;`Failed` 状态下该调用直接结束,界面缺少 UX-06 要求的重试或另存路径。复现:运行已有磁盘满失败任务,界面停在 `Failed(The disk is full)`;调用状态项绑定的操作后仍保持同一失败状态。修复方向:保留失败任务的输入,在错误状态提供可执行的重试或另存入口,并验证恢复后使用原输入重新执行成功。
tests/scripts/shell.sh:57 — 混合态与长任务断言仅检查探针从模型生成的日志,无法验证 UX-04、UX-05 对应界面。实测两次独立变异:移除 `PropertyGrid` 的 `.group(group)` 后,脚本仍通过;移除任务状态栏的整个 `.when_some(task_label, ...)`,连同取消入口一起删除后,脚本仍以 0 退出并报告任务通过。修复方向:断言实际渲染的混合属性、任务范围、状态和错误,通过界面操作触发取消与恢复;让上述两种变异分别触发失败。