Files
ElyOffice/tasks/reviews/C19.2-r1.md
T

8 lines
2.2 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-platform/src/print.rs:22 — 复制 sharedPrintInfo 后保留了系统共享的 scalingFactor,PageScaleNone 只控制 PDF 页面适配,实际打印仍叠加该缩放,违反 PRD §19.3 的缩放一致性。具体场景:共享打印设置为 50%,PDF 内的图形为 200×100 点;独立副本执行生产打印函数,仅关闭面板并将系统作业指定为保存 PDF,输出图形变为 100×50 点,位置也发生偏移。在副本中加入 info.setScalingFactor(1.0) 后,同一输入恢复为 200×100 点。修复方向:用文档的输出缩放初始化此次打印设置,当前已完成布局的 PDF 应设为 1.0,并增加带非默认共享缩放值的实际输出回归。
crates/ely-platform/src/print.rs:20 — 只读取首页的 MediaBox 并把同一纸张用于整个打印操作,后续较大页面在 PageScaleNone 下被裁切,违反 PRD §19.3 的纸张及输出一致性。具体场景:两页 PDF 的首页为 A5 横向 595×420 点,第二页为 A3 横向 1191×842 点;执行生产打印函数的系统保存作业后,两页都变为 595×420 点,第二页靠两侧放置的两个 40×40 点图形全部消失。72 DPI 独立栅格检查:原第二页有 3200 个黑像素,打印第二页为 0;打印函数仍返回 Ok(true)。任务中所列“各节纸张不同未验证”已由此复现为内容裁切。修复方向:打印操作按页保留文档的纸张尺寸,预览与输出使用相同的逐页设置,并覆盖混合纸张内容边缘的回归。
tests/scripts/print.sh:64 — 纸张断言读取的是打印函数记录的输入尺寸,实际 NSPrintOperation 的纸张、边距、缩放与输出内容均未被核对,测试会放过此次任务直接修复的纸张回归。具体场景:运行时将 ElyDoc 的 NSPrintInfo.setPaperSize 替换为设置 Letter 纸张,记录确认实际纸张为 792×612 点,原函数日志仍为 595.30×419.56;保持脚本断言不变、仅调整启动以加载变异库后,脚本仍退出 0 并输出“ok: print”。原脚本和 91 项相关单测均通过。修复方向:独立读取实际系统打印设置并核对保存出的页面尺寸、边距与内容比例,使这类纸张变异能够触发测试失败。