Files
node/test/parallel/test-process-release.js
T
Gus Caplan 91e0f8db11 process: add version constants and compare
PR-URL: https://github.com/nodejs/node/pull/19587
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
2018-04-13 22:03:04 -07:00

58 lines
1.6 KiB
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
const versionParts = process.versions.node.split('.');
assert.strictEqual(process.release.name, 'node');
// it's expected that future LTS release lines will have additional
// branches in here
if (versionParts[0] === '4' && versionParts[1] >= 2) {
assert.strictEqual(process.release.lts, 'Argon');
} else if (versionParts[0] === '6' && versionParts[1] >= 9) {
assert.strictEqual(process.release.lts, 'Boron');
} else if (versionParts[0] === '8' && versionParts[1] >= 9) {
assert.strictEqual(process.release.lts, 'Carbon');
} else {
assert.strictEqual(process.release.lts, undefined);
}
const {
majorVersion: major,
minorVersion: minor,
patchVersion: patch,
prereleaseTag: tag,
compareVersion,
} = process.release;
assert.strictEqual(compareVersion(major, minor, patch, tag), 0);
assert.strictEqual(compareVersion(major + 1, minor, patch, tag), -1);
assert.strictEqual(compareVersion(major - 1, minor, patch, tag), 1);
assert.strictEqual(compareVersion(major, minor + 1, patch, tag), -1);
assert.strictEqual(compareVersion(major, minor - 1, patch, tag), 1);
assert.strictEqual(compareVersion(major, minor, patch + 1, tag), -1);
assert.strictEqual(compareVersion(major, minor, patch - 1, tag), 1);
if (tag)
assert.strictEqual(compareVersion(major, minor, patch), 1);
else
assert.strictEqual(compareVersion(major, minor, patch, 'notrealtag'), -1);
for (const args of [
['', 0, 0, ''],
[0, '', 0, ''],
[0, 0, '', ''],
[0, 0, 0, 0],
]) {
common.expectsError(() => {
compareVersion(...args);
}, {
code: 'ERR_INVALID_ARG_TYPE',
});
}