XuqmGroup-RNSDK/packages/common/tests/version.test.ts

23 行
738 B
TypeScript

import assert from 'node:assert/strict'
import test from 'node:test'
import {
compareVersions,
compatibleMajorRange,
isVersionUpgrade,
satisfiesVersion,
} from '../src/version'
test('semantic version comparison never treats inequality as an upgrade', () => {
assert.equal(isVersionUpgrade('1.0.0', '1.0.1'), true)
assert.equal(isVersionUpgrade('1.0.1', '1.0.0'), false)
assert.equal(compareVersions('1.0.0-alpha.2', '1.0.0-alpha.10'), -1)
})
test('common compatibility is explicit and bounded by the next major', () => {
const range = compatibleMajorRange('1.0.0')
assert.equal(range, '>=1.0.0 <2.0.0')
assert.equal(satisfiesVersion('1.0.2', range), true)
assert.equal(satisfiesVersion('2.0.0', range), false)
})