test(GOV-011): 补充 Node 22 系列边界验证

This commit is contained in:
2026-08-17 17:23:29 +08:00
parent 426870b704
commit c8277ef25a
+7 -5
View File
@@ -3,18 +3,20 @@ import test from 'node:test';
import { assertSupportedRuntime } from './verify-runtime.mjs'; import { assertSupportedRuntime } from './verify-runtime.mjs';
test('只接受 Node 22 与 pnpm 10', () => { test('接受完整 Node.js 22.x 并拒绝相邻主版本', () => {
assert.doesNotThrow(() => for (const nodeVersion of ['22.0.0', '22.11.0', '22.99.123-beta.1+build.7']) {
assertSupportedRuntime({ nodeVersion: '22.11.0', pnpmVersion: '10.25.0' }), assert.doesNotThrow(() => assertSupportedRuntime({ nodeVersion, pnpmVersion: '10.25.0' }));
); }
for (const nodeVersion of ['20.20.2', '24.0.0']) { for (const nodeVersion of ['21.7.3', '23.0.0']) {
assert.throws( assert.throws(
() => assertSupportedRuntime({ nodeVersion, pnpmVersion: '10.25.0' }), () => assertSupportedRuntime({ nodeVersion, pnpmVersion: '10.25.0' }),
new RegExp(`Node\\.js 必须为 22\\.x,实际 ${nodeVersion.replaceAll('.', '\\.')}`), new RegExp(`Node\\.js 必须为 22\\.x,实际 ${nodeVersion.replaceAll('.', '\\.')}`),
); );
} }
});
test('只接受 pnpm 10.x', () => {
for (const pnpmVersion of ['9.15.0', '11.0.0']) { for (const pnpmVersion of ['9.15.0', '11.0.0']) {
assert.throws( assert.throws(
() => assertSupportedRuntime({ nodeVersion: '22.11.0', pnpmVersion }), () => assertSupportedRuntime({ nodeVersion: '22.11.0', pnpmVersion }),