mirror of
https://github.com/feigeCode/navop.git
synced 2026-09-22 00:01:25 +00:00
`extension_pages_render_tests` 原本只覆盖 mqtt/docker/dev-tools 的六个页。本次:
1. `MIGRATED_PAGES` 补上 rocketmq 的三张 shell 页(`overview` / `messages` /
`send-message`),并把 `send-message` 的期望从只有 `Input` 扩到
`Input` + `Select` + `Textarea`。
2. 新增 `PLACEHOLDER_TEXT`(`undefined` / `NaN` / `[object Object]`)断言:渲染树里
出现这些字样就是模板漏了字段兜底。这类 bug **不会**让 `build_error` 报出来,
节点名断言也照过 —— 加这条之前,rocketmq 消息页表头一直印的是"共 undefined 条"
(`run()` 写 `this.returned`、表头读 `this.total`)而守卫全绿。
3. 新增 `extension_manifests_load_against_this_host`:用宿主自己的
`extension_runtime::extension::manifest::load_from_dir` 解析相邻仓
docker/mqtt/rocketmq/elasticsearch 的 `extension.json`。这是唯一挡得住
`deny_unknown_fields` 解析期失败的闸门 —— 相邻仓的 `tests/scripts.test.mjs` 只读
`ui/*.js`,`scripts/verify-composite-package.sh` 的校验清单里根本没有
`contributes.resourceWorkbenches`。清单字段名写错的表现是"整个扩展消失"而不是报错,
所以在宿主侧过一遍 schema 值这个价。
两条守卫都做了变异验证(不是只看绿):
- 把消息页表头改回 `共 ${this.total} 条` ⇒ 精确报出
`rocketmq/ui/messages.js: 渲染树里出现了 \`undefined\``,FAILED。
- 把清单的 `schemaVersion` 改名成 `schemaVersions` ⇒ 精确报出
`unknown field \`schemaVersions\`, expected one of \`schemaVersion\`, \`id\`, ...`,FAILED。
运行:`cargo test -p universal-plugins --features shell-plugins -- extension_`(25 passed)。