23 行
738 B
TypeScript
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)
|
||
|
|
})
|