node-version.test.js 929 B

12345678910111213141516171819202122232425262728
  1. import { test } from 'node:test'
  2. import assert from 'node:assert/strict'
  3. import { checkNodeVersion, MIN_NODE } from '../src/runtime/node-version.js'
  4. test('满足门槛的版本放行', () => {
  5. for (const v of ['v22.13.0', 'v24.15.0', '22.13.1', 'v23.0.0']) {
  6. const r = checkNodeVersion(v)
  7. assert.equal(r.ok, true, `${v} 应放行`)
  8. assert.equal(r.message, '')
  9. }
  10. })
  11. test('低于门槛的版本拦截并给人话提示', () => {
  12. for (const v of ['v22.12.0', 'v21.0.0', 'v18.20.0']) {
  13. const r = checkNodeVersion(v)
  14. assert.equal(r.ok, false, `${v} 应拦截`)
  15. assert.ok(r.message.length > 0, '应有人话提示')
  16. assert.ok(r.message.includes(MIN_NODE), '提示应含所需版本')
  17. }
  18. })
  19. test('无法识别的版本串也拦截', () => {
  20. for (const v of ['', 'abc', null, undefined]) {
  21. const r = checkNodeVersion(v)
  22. assert.equal(r.ok, false)
  23. assert.ok(r.message.length > 0)
  24. }
  25. })