test(criteria): 规范加 §1.5「两张表各缺一半时按 id 联接,不按相邻关系配对」(pi 的建议 + 我方实测的串行实例)

This commit is contained in:
2026-09-14 15:20:39 +08:00
parent dbdb2f5039
commit f412751b37
2 changed files with 12 additions and 1 deletions

View File

@ -31,6 +31,17 @@
`client/electron/test/background.test.mjs` 里还有一批 `\{[\s\S]{0,80}…``{0,160}` 窗口。
下次碰那个文件时按本节形状改成"取规则体",不要在那里再加一条注释算了。
### 1.5 两张表各缺一半时,必须**按 id 联接**不能按相邻关系配对pi 2026-09-14
读 SDK 的系统色时踩到的:`sysResource.js` 只有**名字→id**`resources.txt` 只有 **id→值**
而后者把名字与值排得并不总是紧邻(我第一遍按文本邻近关系读,直接串了行,
`ohos_id_color_background` 读成了 `ohos_id_color_background_dark` 的值)。
正确做法:名字查 id、id 查值,**两次联接都基于标识符**;顺便用一张表校验另一张表
(例如 `_dark` 结尾的名字应当拿到深色值),对不上就说明联接方式错了。
这与第 1 条是同一件事:**邻接不是结构**。它同样适用于"我自己写的判据"
§6.6 里那条被变异测试抓住两次的窗口式正则就是反例)。
## 2. 合成的清单 + 空 allow-list条目要结构化
"清单从 SDK/参考实现生成 + allow-list 目前为空"是个好形状,但它**迟早被侵蚀**