test(cross-client): 预算条三个档位的令牌也和 WebUI 对齐 + 记录模拟器权限门
## 判据 P2a 新加的 6 个预算条令牌(`chipNeutral*` / `chipSpent*` / `chipWarn*`)此前只有鸿蒙侧 自己在用,没有任何判据钉住它们与 WebUI `BudgetChip` 的 gray-100/gray-500、 red-100/red-700、orange-100/orange-700 是**同一批值** —— 于是"鸿蒙那边自己挑了个接近的红" 没人会发现。补进 `cross-client-theme.test.mjs`(8 → 8 条,第 7 条扩了 6 个断言), 并加了反向对照(差一个色阶必须判红,实测判红)。 注意 `--c-gray-100` 等在 `.dark` 段有第二处定义,`cssVar()` 取第一处(`:root` 浅色一套), 与 `Theme.ets` 的浅色令牌对应。 ## 文档 `docs/HARMONY-ALIGN-PLAN.md` §7.6:把"鸿蒙视觉/点击未验"查到根上 —— DevEco CLI 说明本机 **有**可启动的模拟器(起来后 `devecocli ui layout/click/screenshot` 能做点击级验证), 但 `harmony-emu start` 要写 `/run`、`/root/.Huawei`(工作区之外),按规矩升级重试一次后 被拒:**「权限询问无法送达:该任务链上没有人类用户」**。 即:鸿蒙的点击级验证不是"还没做",是"当前做不到"——需要人在命令行跑一次 `harmony-emu start`。此前所有阶段只能按"逻辑有可执行判据 + 接线有判据 + 观感未验"验收。
This commit is contained in:
@ -114,6 +114,31 @@ test('权限档位徽标两边同一套色(plan=蓝 / workspace=绿 / full=琥
|
||||
assert.equal(token('approveFg'), cssVar('c-green-700', web), 'workspace 字色应与 green-700 一致');
|
||||
assert.equal(token('warnBg'), cssVar('c-amber-50', web), 'full 底色应与 amber-50 一致');
|
||||
assert.equal(token('warnFg'), cssVar('c-amber-700', web), 'full 字色应与 amber-700 一致');
|
||||
|
||||
/*
|
||||
* 往返预算条的三个档位(P2a 新加)。
|
||||
*
|
||||
* WebUI 的 `BudgetChip` 用的是 gray-100/gray-500(普通)、red-100/red-700(用尽)、
|
||||
* orange-100/orange-700(将尽);鸿蒙的卡片视图要显示同一条预算,
|
||||
* 就得取**同一批值** —— 而且这批值只在这条判据里和 WebUI 对齐,
|
||||
* 否则"鸿蒙那边自己挑了个接近的红"没人会发现。
|
||||
*
|
||||
* ⚠️ 注意:index.css 里 `--c-gray-100` 等变量在 `.dark` 段里还有第二处定义,
|
||||
* 上面的 cssVar 取的是**第一处**(`:root`,浅色主题)—— 与 `Theme.ets` 是浅色一套对应。
|
||||
*/
|
||||
assert.equal(token('chipNeutralBg'), cssVar('c-gray-100', web), '预算普通档底色应与 gray-100 一致');
|
||||
assert.equal(token('chipNeutralFg'), cssVar('c-gray-500', web), '预算普通档字色应与 gray-500 一致');
|
||||
assert.equal(token('chipSpentBg'), cssVar('c-red-100', web), '预算用尽底色应与 red-100 一致');
|
||||
assert.equal(token('chipSpentFg'), cssVar('c-red-700', web), '预算用尽字色应与 red-700 一致');
|
||||
assert.equal(token('chipWarnBg'), cssVar('c-orange-100', web), '预算将尽底色应与 orange-100 一致');
|
||||
assert.equal(token('chipWarnFg'), cssVar('c-orange-700', web), '预算将尽字色应与 orange-700 一致');
|
||||
// 反向对照:判据要真能抓到"自己挑了个接近的颜色"
|
||||
const off = harmony.replace("chipSpentBg: string = '#FEE2E2'", "chipSpentBg: string = '#FEE3E3'");
|
||||
assert.notEqual(
|
||||
hex(off.match(/chipSpentBg: string = '(#[0-9A-Fa-f]{6})'/)[1]),
|
||||
cssVar('c-red-100', web),
|
||||
'自检:差一个色阶判据却还是绿的'
|
||||
);
|
||||
});
|
||||
|
||||
test('鸿蒙的遮罩是「色 + 透明度」两段式(照 WebUI 的 --bg-scrim + --bg-dim)', () => {
|
||||
|
||||
@ -314,3 +314,22 @@ WebUI 侧完全不读这个字段(`mailStore` 里没有 `total`),所以这
|
||||
- **视觉与点击仍未验**(无设备 / 模拟器起不来):折叠展开的手感、卡片间距、
|
||||
组头命中区是否够大,这些**没有**任何自动判据能代替人眼 —— 交付时按"结构/逻辑已验证、
|
||||
观感未验"写。下一轮:P2b 通信页签(收件箱/发件箱/授权 + 徽标)。
|
||||
|
||||
### 7.6 模拟器为什么仍然起不来:权限门是"无人可批准"
|
||||
|
||||
7.5 的"无设备"这次查到根上了。DevEco CLI 的说明(`deveco-cli` skill)确认本机
|
||||
**有**一个按需启动的模拟器实例 `HarmonyPhone`(KVM,`harmony-emu start` 即可,
|
||||
起来后 `devecocli ui layout / click / screenshot` 能做**真正的点击级验证**)。
|
||||
但 `harmony-emu start` 要把 PID/日志写到 `/run` 与 `/root/.Huawei`(工作区之外),
|
||||
在 workspace-write 沙箱下被拒;按规矩用 `sandbox_permissions` 升级重试一次,得到的是:
|
||||
|
||||
无法执行 bash:权限询问无法送达:该任务链上没有人类用户
|
||||
|
||||
也就是说:**鸿蒙的点击级验证在这条链上不是"还没做",而是"当前做不到"** ——
|
||||
需要人类在命令行里跑一次 `harmony-emu start`,之后 `devecocli ui` 就能自动点。
|
||||
在那之前,鸿蒙侧任何界面改动的验收口径只能是
|
||||
「逻辑有可执行判据 + 页面接线有判据 + 观感未验」,**不能**写"已完成"。
|
||||
|
||||
(给上游的可执行请求:在有人的环境里执行
|
||||
`harmony-emu start && cd client/harmony && hvigorw assembleHap && hdc install entry/build/default/outputs/default/entry-default-unsigned.hap`,
|
||||
即可让 P2a 之后所有阶段的"点击级判据"落地。)
|
||||
|
||||
Reference in New Issue
Block a user