1.6 KiB
FAIL
crates/ely-lok/src/client/tests.rs:166 — R8 的宏安全回归测试缺陷仍在。样本文档只绑定按钮事件,加载测试没有触发该事件;正向对照执行的是用户配置中的另一份库宏。隔离副本将 LOAD_OPTIONS 改为 EnableMacrosExecution=true,MacroSecurityLevel=0,执行 cargo build -p ely-lok --bin ely-lok-worker --locked 后,以实际固定 LOK 构建运行 cargo test -p ely-lok --locked a_macro_never_writes_its_marker -- --nocapture --test-threads=1,实测仍通过。新增“未验证”注释后,测试仍无法检测 LOK-11 的加载时放开宏回归。修复方向:使用同一份带有效自动执行事件的文档验证禁用和放开两种配置,要求放开宏的变异使安全测试失败;正向执行对照放入独立测试程序。
crates/ely-lok/src/client.rs:319 — R8 的完整 JSON 校验缺陷仍在。控制字符检查只拒绝 NUL,其余原始控制字符仍在第 327 行被当作反斜杠处理。通过 IPC 返回正确的三个版本字段,并追加值为 a、实际换行(或制表符、U+0001)、b 的字符串字段,实测 Worker::spawn 均成功;ProductName 使用实际 U+0001 后接 u004cibreOffice 也被解码为 LibreOffice 并通过校验。U+00A0 空白拒绝、合法指数与代理对附加字段接受、前导零拒绝均已通过复验,畸形响应仍可通过固定构建校验。修复方向:使用完整 JSON 解析器校验顶层版本字段,并加入覆盖全部原始控制字符、JSON 空白边界、指数、前导零及 Unicode 转义的回归测试。