Archived
fix(w05): 走查逮到的三处 —— 漏掉的 profile 闸 · 圆点投影搬到行外包裹层 · 类型查名加诚实守卫
① profile 的编辑闸与缺项红带在第一版 body 里整个漏掉:宿主在而闸不在,轨道打不开编辑, XL 的必填永远补不上(Task 7 那颗「按不下去的确认钮」同款)。「四道闸」旧断言只查 data-edit 宿主没查 [data-edit-for] 闸,逮不到 —— 断言补强为闸 + 开钮都在。 ② 行内的 data-class-of 只认行作用域(renderRows 末段 renderTemplate(…, one) 拿的是 行对象),作用域级读数在行内投不出 —— 圆点上的 data-class-of 是死属性,永远不亮。 投影搬到行外的三层 .pj 包裹层,样式表按后代选择器点亮;代价是两条轨道的圆点一起亮 (基座数本来就是表级的,分到每颗料头上的数基座没有,不编)。 ③ data-by 在行缺键时落回外层同名字段(终审 I3 已记档的平台缺陷):XL 没选类型、 它的 sub_eval.part 行与 parts.profile 草稿行都没有 chip_type_id 键,查名 pill 借外层 摊平的 chip_type_id 摆出「DC-DC 降压稳压器」—— 档案卡与字段行都在替人表态。 守卫认 selectCurrent 按这一行自己的值写下的 option[selected]:行里没真选上, 名字不摆、摆「(未选择)」;判断全在样式表。 三条新钉各做变异(恰红一条、复原绿);pnpm gates 退出码 0(2497 测)。2.2.1 -> 2.2.2。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
This commit is contained in:
@@ -620,9 +620,11 @@ describe('件① 评估输入补全', () => {
|
||||
expect(html).toContain('data-col="param_name"');
|
||||
});
|
||||
|
||||
it('可改的四张表各有一道编辑闸', () => {
|
||||
it('可改的四张表各有一道编辑闸 —— 查的是闸([data-edit-for] + 开钮),不是宿主:2026-08-30 换版面第一版恰好漏掉 profile 的闸,宿主在而闸不在,轨道打不开编辑,XL 的必填永远补不上(Task 7 那颗「按不下去的确认钮」同款),旧断言只查宿主没逮到', () => {
|
||||
for (const address of ['parts.profile', 'parts.chip_type', 'parts.type_param', 'parts.parameter']) {
|
||||
expect(html).toContain(`data-edit="${address}"`);
|
||||
expect(html).toContain(`data-edit-for="${address}"`);
|
||||
expect(html).toContain(`data-edit-open="${address}"`);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -769,11 +771,18 @@ describe('件① 评估输入补全', () => {
|
||||
expect(html).toContain('.jc-typewarn.v-2{display:flex');
|
||||
});
|
||||
|
||||
it('**步骤圆点只按基座数点亮**:①③ 挂 _missing(v-0 档)、② 挂 distinct(v-1 档),不许模版自己判「办完了」', () => {
|
||||
expect(html).toContain('class="sdot sd-m" data-class-of="parts_profile_missing"');
|
||||
expect(html).toContain('class="sdot sd-d" data-class-of="sub_eval_part_distinct_chip_type_id"');
|
||||
expect(html).toContain('class="sdot sd-m" data-class-of="parts_parameter_missing"');
|
||||
expect(html).toContain('.sdot.sd-m.v-0,.sdot.sd-d.v-1{background:var(--data)');
|
||||
it('**步骤圆点只按基座数点亮,投影挂在行外的包裹层** —— 行内 data-class-of 只认行作用域,作用域级读数在行内投不出(实测圆点永远不亮);圆点自己不许再挂 data-class-of(挂了也是死属性)', () => {
|
||||
expect(html).toContain('class="pj pj-profile" data-class-of="parts_profile_missing"');
|
||||
expect(html).toContain('class="pj pj-type" data-class-of="sub_eval_part_distinct_chip_type_id"');
|
||||
expect(html).toContain('class="pj pj-param" data-class-of="parts_parameter_missing"');
|
||||
expect(html).toContain('.pj-profile.v-0 .sdot.sd-1,.pj-type.v-1 .sdot.sd-2,.pj-param.v-0 .sdot.sd-3{background:var(--data)');
|
||||
expect(html).not.toMatch(/class="sdot[^"]*" data-class-of=/);
|
||||
});
|
||||
|
||||
it('**类型查名有诚实守卫**(data-by 行缺键落回外层同名字段,终审 I3):行里没真选上类型(selectCurrent 没写下 option[selected]),查名 pill 与字段行的名字都不摆', () => {
|
||||
expect(html).toContain('.lane:not(:has(select[data-col="chip_type_id"] option[selected])) .idcard .tpill{display:none}');
|
||||
expect(html).toContain('.lane:not(:has(select[data-col="chip_type_id"] option[selected])) .tywrap span{display:none}');
|
||||
expect(html).toContain('class="jc-vcell tywrap"');
|
||||
});
|
||||
|
||||
it('**新增类型面板是 <details>,且绑定层把抽取样式的 display:none 让开** —— 少了这条让位规则,整个面板(含两道闸与两张表)永远不可见', () => {
|
||||
|
||||
Reference in New Issue
Block a user