mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-21 14:55:43 +00:00
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
import { describe, it } from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import {
|
|
WIX_BUILD,
|
|
wixMappedBuildNumber,
|
|
wixVersionOverrideForPackageVersion,
|
|
} from './wix-bundle-version.mjs';
|
|
|
|
describe('wixVersionOverrideForPackageVersion', () => {
|
|
it('maps -dev to lowest build band', () => {
|
|
assert.equal(wixVersionOverrideForPackageVersion('1.50.0-dev'), '1.50.0.1');
|
|
});
|
|
|
|
it('maps -rc.N to RC base + N', () => {
|
|
assert.equal(wixVersionOverrideForPackageVersion('1.50.0-rc.3'), '1.50.0.10003');
|
|
});
|
|
|
|
it('maps stable to highest build band', () => {
|
|
assert.equal(wixVersionOverrideForPackageVersion('1.50.0'), '1.50.0.65534');
|
|
});
|
|
|
|
it('maps numeric pre-release to RC band', () => {
|
|
assert.equal(wixVersionOverrideForPackageVersion('1.50.0-42'), '1.50.0.10042');
|
|
});
|
|
});
|
|
|
|
describe('monotonic promotion builds within X.Y.Z', () => {
|
|
it('dev < rc.1 < rc.2 < stable', () => {
|
|
const chain = ['1.50.0-dev', '1.50.0-rc.1', '1.50.0-rc.2', '1.50.0'];
|
|
let prev = -1;
|
|
for (const v of chain) {
|
|
const build = wixMappedBuildNumber(v);
|
|
assert.ok(build > prev, `${v} build ${build} must exceed ${prev}`);
|
|
prev = build;
|
|
}
|
|
assert.equal(prev, WIX_BUILD.STABLE);
|
|
});
|
|
});
|