| 123456789101112131415161718192021222324252627282930313233 |
- /**
- * 票 102 静态闸门(一):顶栏三个诊断读数下屏,且不留半截改动。
- *
- * 接缝:外壳单文件源码契约 —— 模板节点 / import / 死状态 / CSS 类名必须同时消失。
- * 只删模板会留下死样式与死 import,只删样式会留下「有节点没画法」的裸标签。
- * 可传源码路径复核历史版本(例如提交时的暂存副本)。
- */
- import assert from 'node:assert/strict'
- import fs from 'node:fs'
- const source = process.argv[2]
- ? fs.readFileSync(process.argv[2], 'utf8')
- : fs.readFileSync(new URL('../src/modules/cockpit/CockpitShell.vue', import.meta.url), 'utf8')
- // ---- 三个读数:模板、样式、数据来源一起下屏 ----
- assert.ok(!source.includes('只读视图'), '「只读视图」必须下屏')
- assert.ok(!source.includes('配置就绪'), '「配置就绪 · 数据源」必须下屏')
- assert.ok(!source.includes('cockpit-shell__config'), '配置读数容器(模板/样式)不得残留')
- assert.ok(!source.includes('configStatusView'), '配置读数展示层不得残留')
- assert.ok(!source.includes('StatusTag'), 'StatusTag 只服务配置读数,必须一并移除')
- assert.ok(!source.includes('cockpit-shell__meta'), '「当前模式」读数不得残留')
- // ---- 配置判定本身仍在用,不能顺手删 ----
- assert.ok(source.includes('configState.value'), '配置判定仍被地图配置/降级说明使用,不能删')
- // 反方向也要守:读数的「载入前不闪标签」闸门随读数一起变成死状态。
- assert.ok(!source.includes('configLoaded'), '拉取态闸门随读数下屏,不得留下无人读的状态')
- // ---- 一级模式导航语义不动 ----
- assert.ok(source.includes('aria-label="一级模式"'), '一级模式导航保持原样')
- assert.ok(source.includes('v-for="item in MODES"'), '一级模式导航保持原样')
- assert.ok(source.includes('@click="uiStore.setMode(item)"'), '一级模式导航保持原样')
- console.log('t102-topbar-menu: 13/13')
|