Files
ElyOffice/tasks/reviews/C08.5-r1.md
T

4.7 KiB

FAIL

apps/ely-doc/src/compare.rs:34 — 比较副本在输入队列完成前保存,审阅结果遗漏刚提交的编辑,违反 DOC-13。复现:正文为 Initial,通过 LokView::insert("PendingText") 排队输入,随即调用 compare;等待比较标签最终名称和输入队列完成后保存并读回,正文仍为 Initial,原标签随后包含 PendingText。临时探针 review_compare_includes_queued_text 已失败。修复方向:沿用保存流程的 settled / when_settled 守卫,待源标签排队输入完成后创建比较副本,并补充排队输入回归测试。

apps/ely-doc/src/merge/run.rs:83 — 合并模板在源标签输入队列完成前保存,预览及生成会遗漏待处理文字或字段,违反 DOC-14。复现:正文为 Dear ,在一次调度中调用 insert_field("Name") 后立即预览 Name=Ada 的记录;等待最终预览名称和输入队列完成后读回,预览正文为 Dear ,预期为 Dear Ada。临时探针 review_preview_includes_queued_field 已失败。修复方向:预览和生成统一等待源标签输入完成,再取得模板快照;测试覆盖字段排队期间发起预览和生成。

apps/ely-doc/src/merge/run.rs:68 — 逐列对已经填充过的正文执行全局替换,后续列会改写先前列的 CSV 值,违反 DOC-14 的记录内容保真。复现:模板为 Dear «Name» of «City»,列顺序为 Name,City,记录为 «City»,London;等待填充完成后读回正文得到 Dear London of London,预期为 Dear «City» of London。临时探针 review_merge_preserves_literal_field_markers_in_data 已失败。修复方向:基于原模板的字段位置进行一次性填充,保证 CSV 值作为字面数据保留,并补充值含其他字段标记的回归测试。

apps/ely-doc/src/merge/run.rs:159 — 输出文件只在启动后台任务前通过 exists() 检查,随后内核直接保存到目标路径;检查与写入之间出现的文件会被覆盖,违反本任务承诺的拒绝覆盖行为。复现:调用 generate 后、推进后台调度前,在首条目标路径写入 EXTERNAL CONTENT;完成生成后该文件变成 DOCX ZIP。临时探针 review_generate_preserves_target_created_after_preflight 已失败,现有测试仅覆盖调用前已存在的目标。修复方向:以排他创建或排他发布保证最终目标的所有权,将内核输出先写入独立暂存路径;遇到占用时暴露错误并保留已有文件,补充检查后目标被占用的测试。

apps/ely-doc/src/find.rs:143 — 查找缓存只随新的搜索回调更新,正文编辑完成后保留过期的匹配数量和矩形,违反 DOC-12 的查找结果正确性。复现:正文为 cat dog,查找 cat 并定位第一项,通过输入 cow 替换所选文字;待编辑和回调完成,查找框的总数仍为 1,实际匹配数为 0。临时探针 review_find_updates_after_edit 已失败。修复方向:观察文档编辑代际,在编辑完成后重新执行当前查询并更新匹配缓存,同时覆盖删除匹配、添加匹配及匹配位置变化的回归场景。

apps/ely-doc/src/find.rs:151 — 上下一处仅更新当前序号,结果落在视口外时页面保持原滚动位置,DOC-12 的定位操作无法展示所选结果。复现:100 个 filler 段落后放一个 needle,视口为 800×600 且滚动位置为 (0,0);查找下一处后结果矩形为 (1418,34218,626,275) twips,滚动位置仍为 (0,0),视口高度为 9000 twips。临时 LOK 视图探针 review_search_reveals_match_below_viewport 已失败。修复方向:选中搜索结果时调整视口以展示结果,并保留内核搜索选区;补充跨页上下一处和替换后的定位测试。

crates/ely-lok/src/commands/tools.rs:7 — 查找及替换的 SearchString 使用 Arg::Text,其 trim().is_empty() 校验拒绝合法的纯空白查询,违反 DOC-12。复现:正文为 a b c,在查找框输入一个空格;参数校验报 find.run needs SearchItem.SearchString,匹配总数保持 0,预期为 2,替换纯空白同样受影响。临时探针 review_find_accepts_a_space_query 已失败。修复方向:给搜索字符串使用保留空白的参数校验,空查询由查找流程明确处理,并测试纯空格的查找与替换。

../Ely-GPUI-Components/src/menus/hosts.rs:243 — commit 967d1e4 新增的 ContextMenu::manual 文档注释包含 18 个英文词,超过本轮要求的十词上限。复现:对该新增注释去掉 /// 后按空白分词得到 18;项目内的 tests/scripts/comments.py 扫描范围覆盖项目目录,组件仓库的这一行需单独核对。修复方向:将该注释缩为单行十词以内。