2.1 KiB
FAIL
crates/ely-ui/src/tasks.rs:51 — cancel() 立即报告 Cancelled,后台工作仍可启动或继续,工作返回的错误也会在第 86 行被丢弃,违反 UX-05 和错误必须暴露的规则。隔离探针中,创建任务后同步取消,工作回调仍执行一次;另一任务在约 62 毫秒取消时写入计数为 0,约 795 毫秒时计数变为 1,状态仍为 Cancelled,回调返回的模拟写入错误消失。修复方向:派发工作前检查取消,把取消信号传给正在执行的工作,并在实际停止后报告取消完成;保留停止前产生的错误,补取消前后副作用与错误的断言。
crates/ely-ui/examples/shell/main.rs:274 — Cancel / Retry 的唯一入口是只绑定 on_click 的 StatusBarItem;当前锁定组件的该项没有 Tab 停靠点、焦点环或键盘激活处理,违反 UX-03。复现:运行磁盘满失败任务,从导航开始逐帧按 Tab 十二次再按 Enter,任务仍为 Failed(The disk is full);原脚本通过鼠标点击同一项可以重试成功。修复方向:使用支持焦点与 Enter / Space 激活的组件提供任务操作,通用状态栏交互修复回组件库,并补仅用键盘取消和重试的测试。
tests/scripts/shell.sh:87 — 亮像素数量无法确认混合属性、任务范围和错误详情已渲染,上一轮的测试缺陷仍存在。两次独立变异均实测以 0 退出:移除 PropertyGrid 的 .group(group) 后运行 ELY_APPEARANCE=light bash tests/scripts/shell.sh;把任务文案改为省略进度范围的 Export · Cancel 和省略错误详情的 Export failed · Retry 后,在深色主题运行同一脚本。修复方向:固定截图主题,核对实际渲染的 Mixed、进度范围及错误文本,并让上述变异分别触发失败。
tests/scripts/ink.py:2 — 模块说明共有 14 个词,超过项目规定的十词上限。复现:按空白拆分该行说明得到 14,现有 comments.py 检查仍通过。修复方向:将这条说明缩短到十词以内,并让注释检查覆盖 Python 文档字符串。