Просмотр исходного кода

chore(cockpit): 删除改名前的两个过期闸门副本(票102)

上一提交把两个闸门更名为 t102-topbar-labels / t102-topbar-position,
但新增了改名后的文件、漏了删旧文件,HEAD 里同时存在四个 t102 闸门。
旧的两个仍是过期规则(全文件子串断言 + 手写计数),留在仓库会被误当成有效证据,
且它们对新设计会给出假绿。此处只删旧副本,不重复改名后的实现。
ChenJZ 18 часов назад
Родитель
Сommit
e780dd8cbd
2 измененных файлов с 0 добавлено и 77 удалено
  1. 0 44
      verify/t102-topbar-layout.mjs
  2. 0 33
      verify/t102-topbar-menu.mjs

+ 0 - 44
verify/t102-topbar-layout.mjs

@@ -1,44 +0,0 @@
-/**
- * 票 102 静态闸门(二):一级菜单的位置不得由右侧内容决定。
- *
- * 维护者 2026-11-02:「按钮在居中偏左的位置(略微左移,不与背景装饰线条重合);
- * 目前由于时间字体的长短不平均,时间跳动会导致按钮位置左右移动,需避免。」
- *
- * 接缝同样是外壳源码契约。这里锁的是**位置的决定权归谁**:
- * 三条声明分别关掉三个能让菜单移动的入口 —— 列宽随内容、菜单参与再分配、槽位吃内容宽度。
- * 可传源码路径复核历史版本(提交前的暂存副本必须是红的)。
- */
-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('grid-template-columns: minmax(240px, 1fr) auto minmax(0, 1fr);'),
-    '右列必须吃等分,不能再按内容撑宽'
-)
-assert.ok(!source.includes('minmax(min-content, 1fr)'), '按内容撑宽的右列必须撤掉')
-
-// 入口二:整组平移只影响这一格的视觉位置,不重新参与 grid 分配,
-// 所以位置不再有任何「随内容变化」的来源。居中偏左、并避开底边光路与两侧装饰线。
-assert.ok(source.includes('transform: translateX(calc(-32 * var(--u)));'), '一级菜单必须固定居中偏左')
-assert.ok(!/cockpit-shell__modes\s*\{[^}]*margin-left/.test(source), '位移不得用 margin(会被再分配)')
-
-// 入口三:时钟读数宽度必须恒由声明决定,而不是由「这一刻是几点几分几秒」决定。
-// 槽位宽度须大于最宽的一次读数(2384×1160 实测一次读数占 101u,--u≈1.433px)。
-assert.ok(source.includes('display: inline-block'), '时钟槽位要能吃到 min-width')
-assert.ok(source.includes('flex: 0 0 auto'), '时钟槽位不参与挤压')
-assert.ok(source.includes('min-width: calc(128 * var(--u));'), '时钟需要固定宽度的数字槽位')
-assert.ok(source.includes('text-align: right'), '时钟槽位内右对齐')
-assert.ok(source.includes('font-variant-numeric: tabular-nums'), '时钟数字必须等宽')
-
-// 位置改动只许动位置:导航语义与按钮本身不变。
-assert.ok(source.includes('aria-label="一级模式"'), '一级模式导航保持原样')
-assert.ok(source.includes('v-for="item in MODES"'), '一级模式导航保持原样')
-assert.ok(source.includes('cockpit-shell__home'), '归位按钮保持原样')
-assert.ok(source.includes('cockpit-shell__clock'), '时钟保持原样')
-
-console.log('t102-topbar-layout: 14/14')

+ 0 - 33
verify/t102-topbar-menu.mjs

@@ -1,33 +0,0 @@
-/**
- * 票 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')