Files
ElyOffice/tasks/reviews/C14.5-r2.md
T

2.1 KiB

FAIL

apps/ely-mark/web/src/find.js:112、125 — 空查询仍调用 CodeMirror 的 findNext;该命令会为无效查询打开自带查找面板,clear 也留下这个面板。复现:打开文档,切源码,按 Cmd+F,保持查询为空;窗口顶部出现 Ely 查找框,底部同时出现 CodeMirror 的 Find/Replace 面板。按 Esc 后顶部查找框关闭,底部面板继续占据正文区域。真实窗口截图已检查,原始状态与关闭后的 panels=1 见 /tmp/ely-c145-r2-logs-f2qn59cz/native.err;副本按查询有效性守卫命令后,同一路径始终 panels=0,见 native-patched.err。修复方向:空查询及无效查询只更新搜索状态,各步进、替换入口先核对查询有效性,关闭操作完整清除查找界面;加入空查询、清空字段和 Esc 的窗口回归。

apps/ely-mark/web/src/find.js:24 — 正则校验使用无标志的 RegExp,两种编辑器实际使用带 Unicode 标志的正则,导致部分编译错误被回报为零命中。复现:源码模式搜索 a{ 并开启正则,界面显示 No results;实际查询因 Incomplete quantifier 无效。搜索 \a 同样被编辑器拒绝,两种模式的回报均为 current=null、total=0,缺少 error,见 /tmp/ely-c145-r2-logs-f2qn59cz/regex-state.log、probe.log。副本按实际编辑器的标志校验后,窗口显示编译错误,两种模式均回报 Invalid escape,见 patched-probe.log。修复方向:让错误校验与编辑器采用相同的正则编译规则,显式显示编译失败,并覆盖这类受 Unicode 标志影响的表达式。

tests/scripts/comments.py:59 — 跨行块注释检测只覆盖 C/H,新增的 JavaScript 扫描会漏过跨行块注释。复现:在隔离副本的 find.js 末尾加入两行 /* A comment 和 spanning lines. */,运行 comments.py,退出码仍为 0,并声称全部注释均为单行,违反本轮明确要求。原始检查与扩展检测后的失败结果见 /tmp/ely-c145-r2-logs-f2qn59cz/comments-mutation.log。修复方向:覆盖 JavaScript 的跨行块注释,增加该变异必须失败的回归检查。