mirror of
https://github.com/luckyyzh/pi-agent-integrated.git
synced 2026-10-03 02:59:35 +00:00
34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
import assert from "node:assert/strict";
|
|
import { createRequire } from "node:module";
|
|
import test from "node:test";
|
|
|
|
const require = createRequire(import.meta.url);
|
|
const packageJson = require("../package.json");
|
|
const {
|
|
MIN_NODE_VERSION,
|
|
getUnsupportedNodeVersionMessage,
|
|
isNodeVersionSupported,
|
|
} = require("../bin/node-version.js");
|
|
|
|
test("accepts the minimum supported Node.js version and newer versions", () => {
|
|
for (const version of ["22.19.0", "v22.19.0", "22.19.1", "23.0.0"]) {
|
|
assert.equal(isNodeVersionSupported(version), true, version);
|
|
}
|
|
});
|
|
|
|
test("rejects older and invalid Node.js versions", () => {
|
|
for (const version of ["20.19.5", "22.18.99", "invalid"]) {
|
|
assert.equal(isNodeVersionSupported(version), false, version);
|
|
}
|
|
});
|
|
|
|
test("keeps the package engine aligned with the startup check", () => {
|
|
assert.equal(packageJson.engines.node, `>=${MIN_NODE_VERSION}`);
|
|
});
|
|
|
|
test("reports both the required and current Node.js versions", () => {
|
|
const message = getUnsupportedNodeVersionMessage("20.19.5");
|
|
assert.match(message, /requires Node\.js 22\.19\.0 or newer/);
|
|
assert.match(message, /Current Node\.js version: 20\.19\.5/);
|
|
});
|