Files
ElyOffice/tasks/reviews/C08.2-r3.md
T

2.2 KiB
Raw Blame History

FAIL

patches/libreoffice/0003-lok-char-style-and-spacing-states.patch:66 — 第 2 轮的混合文字属性缺陷仍存在,新增 ItemStatus/DONT_CARE 分支仅覆盖部分状态,违反 UX-04、LOK-05。具体复现:同段 Alpha 使用字符样式 ElyA(Liberation Serif、12 pt、斜体、红色),Beta 使用 ElyB(Liberation Sans、18 pt、粗体、蓝色);真窗口打开该 FODT,点击正文并 Cmd+A,等待选区稳定。字符样式已显示 Mixed、字符样式 Update 已禁用,但字体仍显示 Liberation Serif、字号仍为 12、粗斜体均关闭、颜色仍为 Automatic,相关字段均缺少 Mixed。独立内核探针全选同一文档后得到 CharFontName="Liberation Serif"、FontHeight="12"、Bold="false"、Italic="false"、FontColor="-1",仅 CharStyle 为 MIXED;逐字段断言混合状态的测试失败。现有 crates/ely-lok/src/client/tests/format.rs:253 仅断言 Italic、CharStyle、StyleApply、ULSpacing,覆盖不到此场景。修复方向:补齐同段不同字符样式所形成的字体、字号、效果、颜色等实际混合属性状态,并增加逐字段内核断言与真实控件回显断言。

apps/ely-doc/src/props/tests.rs:266 — quick_spacing_edits_keep_each_other 直接调用 set_spacing,绕过 NumberInput 的 Changed、Submit、Blur 与绘制时回调,仍缺少第 2 轮要求的真实连续编辑回归。当前实现的真窗口复验已通过:6/10 pt 连续改为 8/12 pt,保存 DOCX 得到 before="160"、after="240" twips;零段距连续输入 6/12 pt 也保持新值。覆盖缺口的具体复现:临时副本仅把 paragraph.rs:125 的 on_change 恢复为捕获绘制时 upper/lower 并直接 run 两项段距,保留 set_spacing 与其他代码;21 个 ElyDoc 测试仍全部通过,包括该回归测试。该副本真窗口从 0/0 pt 连续输入段前 6、段后 12,按 Enter 并点击正文失焦,最终两项均恢复为 0;保存 DOCX 的 w:spacing 为 before="0"、after="0"。tests/scripts/shell.sh 使用 gallery,也覆盖不到 ElyDoc 的段距回调。修复方向:通过实际数值控件执行连续输入、Enter 和失焦,保存后断言两个段距,并确认恢复旧回调会使该测试失败。