const assert = require('node:assert/strict'); const { readFileSync } = require('node:fs'); const { test } = require('node:test'); const ts = require('typescript'); // 表格统一形态:固定表头(scroll.y)+ sticky 兜底 + 横向滚动 + 操作列固定右侧 + 分页。 const files = [ 'src/components/accounts/MonitoringAccountList.tsx', 'src/components/accounts/AccountManagementList.tsx', 'src/pages/accounts/import.tsx', 'src/pages/browsers/index.tsx', 'src/pages/network-exits/index.tsx', 'src/pages/gateways/index.tsx', ]; for (const file of files) { const source = ts.createSourceFile( file, readFileSync(`${__dirname}/../${file}`, 'utf8'), ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX, ); const code = source.getFullText(); test(`${file} 表格使用统一固定表头与分页形态`, () => { assert.match(code, /sticky/, '应开启表头吸顶兜底'); assert.match(code, /pagination=\{tablePagination\(\)\}/, '应恢复分页(每页 20,单页隐藏)'); assert.doesNotMatch(code, /pagination=\{false\}/, '不应再保留 pagination={false}'); assert.match(code, /\.\.\.fixedLeft