mirror of
https://github.com/electron/node-gyp.git
synced 2025-09-16 22:13:39 +02:00
update "semver" to v2.0.8
This commit is contained in:
parent
fcbf1431a2
commit
60b975e3a1
7 changed files with 10 additions and 522 deletions
10
node_modules/semver/package.json
generated
vendored
10
node_modules/semver/package.json
generated
vendored
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "semver",
|
"name": "semver",
|
||||||
"version": "2.0.7",
|
"version": "2.0.8",
|
||||||
"description": "The semantic version parser used by npm.",
|
"description": "The semantic version parser used by npm.",
|
||||||
"main": "semver.js",
|
"main": "semver.js",
|
||||||
"browser": "semver.browser.js",
|
"browser": "semver.browser.js",
|
||||||
|
@ -26,6 +26,10 @@
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/isaacs/node-semver/issues"
|
"url": "https://github.com/isaacs/node-semver/issues"
|
||||||
},
|
},
|
||||||
"_id": "semver@2.0.7",
|
"_id": "semver@2.0.8",
|
||||||
"_from": "semver@2"
|
"dist": {
|
||||||
|
"shasum": "995327563b69184a37dcc576fcb3c810bbdfbd98"
|
||||||
|
},
|
||||||
|
"_from": "semver@2.0.8",
|
||||||
|
"_resolved": "https://registry.npmjs.org/semver/-/semver-2.0.8.tgz"
|
||||||
}
|
}
|
||||||
|
|
2
node_modules/semver/semver.browser.js
generated
vendored
2
node_modules/semver/semver.browser.js
generated
vendored
|
@ -825,7 +825,7 @@ exports.maxSatisfying = maxSatisfying;
|
||||||
function maxSatisfying(versions, range, loose) {
|
function maxSatisfying(versions, range, loose) {
|
||||||
return versions.filter(function(version) {
|
return versions.filter(function(version) {
|
||||||
return satisfies(version, range, loose);
|
return satisfies(version, range, loose);
|
||||||
}).sort(compare)[0] || null;
|
}).sort(rcompare)[0] || null;
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.validRange = validRange;
|
exports.validRange = validRange;
|
||||||
|
|
BIN
node_modules/semver/semver.browser.js.gz
generated
vendored
BIN
node_modules/semver/semver.browser.js.gz
generated
vendored
Binary file not shown.
2
node_modules/semver/semver.js
generated
vendored
2
node_modules/semver/semver.js
generated
vendored
|
@ -835,7 +835,7 @@ exports.maxSatisfying = maxSatisfying;
|
||||||
function maxSatisfying(versions, range, loose) {
|
function maxSatisfying(versions, range, loose) {
|
||||||
return versions.filter(function(version) {
|
return versions.filter(function(version) {
|
||||||
return satisfies(version, range, loose);
|
return satisfies(version, range, loose);
|
||||||
}).sort(compare)[0] || null;
|
}).sort(rcompare)[0] || null;
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.validRange = validRange;
|
exports.validRange = validRange;
|
||||||
|
|
2
node_modules/semver/semver.min.js
generated
vendored
2
node_modules/semver/semver.min.js
generated
vendored
File diff suppressed because one or more lines are too long
BIN
node_modules/semver/semver.min.js.gz
generated
vendored
BIN
node_modules/semver/semver.min.js.gz
generated
vendored
Binary file not shown.
516
node_modules/semver/test/index.js
generated
vendored
516
node_modules/semver/test/index.js
generated
vendored
|
@ -1,516 +0,0 @@
|
||||||
var tap = require('tap');
|
|
||||||
var test = tap.test;
|
|
||||||
var semver = require('../semver.js');
|
|
||||||
var eq = semver.eq;
|
|
||||||
var gt = semver.gt;
|
|
||||||
var lt = semver.lt;
|
|
||||||
var neq = semver.neq;
|
|
||||||
var cmp = semver.cmp;
|
|
||||||
var gte = semver.gte;
|
|
||||||
var lte = semver.lte;
|
|
||||||
var satisfies = semver.satisfies;
|
|
||||||
var validRange = semver.validRange;
|
|
||||||
var inc = semver.inc;
|
|
||||||
var replaceStars = semver.replaceStars;
|
|
||||||
var toComparators = semver.toComparators;
|
|
||||||
var SemVer = semver.SemVer;
|
|
||||||
var Range = semver.Range;
|
|
||||||
|
|
||||||
test('\ncomparison tests', function(t) {
|
|
||||||
// [version1, version2]
|
|
||||||
// version1 should be greater than version2
|
|
||||||
[['0.0.0', '0.0.0-foo'],
|
|
||||||
['0.0.1', '0.0.0'],
|
|
||||||
['1.0.0', '0.9.9'],
|
|
||||||
['0.10.0', '0.9.0'],
|
|
||||||
['0.99.0', '0.10.0'],
|
|
||||||
['2.0.0', '1.2.3'],
|
|
||||||
['v0.0.0', '0.0.0-foo', true],
|
|
||||||
['v0.0.1', '0.0.0', true],
|
|
||||||
['v1.0.0', '0.9.9', true],
|
|
||||||
['v0.10.0', '0.9.0', true],
|
|
||||||
['v0.99.0', '0.10.0', true],
|
|
||||||
['v2.0.0', '1.2.3', true],
|
|
||||||
['0.0.0', 'v0.0.0-foo', true],
|
|
||||||
['0.0.1', 'v0.0.0', true],
|
|
||||||
['1.0.0', 'v0.9.9', true],
|
|
||||||
['0.10.0', 'v0.9.0', true],
|
|
||||||
['0.99.0', 'v0.10.0', true],
|
|
||||||
['2.0.0', 'v1.2.3', true],
|
|
||||||
['1.2.3', '1.2.3-asdf'],
|
|
||||||
['1.2.3', '1.2.3-4'],
|
|
||||||
['1.2.3', '1.2.3-4-foo'],
|
|
||||||
['1.2.3-5-foo', '1.2.3-5'],
|
|
||||||
['1.2.3-5', '1.2.3-4'],
|
|
||||||
['1.2.3-5-foo', '1.2.3-5-Foo'],
|
|
||||||
['3.0.0', '2.7.2+asdf'],
|
|
||||||
['1.2.3-a.10', '1.2.3-a.5'],
|
|
||||||
['1.2.3-a.b', '1.2.3-a.5'],
|
|
||||||
['1.2.3-a.b', '1.2.3-a'],
|
|
||||||
['1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.5.d.100']
|
|
||||||
].forEach(function(v) {
|
|
||||||
var v0 = v[0];
|
|
||||||
var v1 = v[1];
|
|
||||||
var loose = v[2];
|
|
||||||
t.ok(gt(v0, v1, loose), "gt('" + v0 + "', '" + v1 + "')");
|
|
||||||
t.ok(lt(v1, v0, loose), "lt('" + v1 + "', '" + v0 + "')");
|
|
||||||
t.ok(!gt(v1, v0, loose), "!gt('" + v1 + "', '" + v0 + "')");
|
|
||||||
t.ok(!lt(v0, v1, loose), "!lt('" + v0 + "', '" + v1 + "')");
|
|
||||||
t.ok(eq(v0, v0, loose), "eq('" + v0 + "', '" + v0 + "')");
|
|
||||||
t.ok(eq(v1, v1, loose), "eq('" + v1 + "', '" + v1 + "')");
|
|
||||||
t.ok(neq(v0, v1, loose), "neq('" + v0 + "', '" + v1 + "')");
|
|
||||||
t.ok(cmp(v1, '==', v1, loose), "cmp('" + v1 + "' == '" + v1 + "')");
|
|
||||||
t.ok(cmp(v0, '>=', v1, loose), "cmp('" + v0 + "' >= '" + v1 + "')");
|
|
||||||
t.ok(cmp(v1, '<=', v0, loose), "cmp('" + v1 + "' <= '" + v0 + "')");
|
|
||||||
t.ok(cmp(v0, '!=', v1, loose), "cmp('" + v0 + "' != '" + v1 + "')");
|
|
||||||
});
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('\nequality tests', function(t) {
|
|
||||||
// [version1, version2]
|
|
||||||
// version1 should be equivalent to version2
|
|
||||||
[['1.2.3', 'v1.2.3', true],
|
|
||||||
['1.2.3', '=1.2.3', true],
|
|
||||||
['1.2.3', 'v 1.2.3', true],
|
|
||||||
['1.2.3', '= 1.2.3', true],
|
|
||||||
['1.2.3', ' v1.2.3', true],
|
|
||||||
['1.2.3', ' =1.2.3', true],
|
|
||||||
['1.2.3', ' v 1.2.3', true],
|
|
||||||
['1.2.3', ' = 1.2.3', true],
|
|
||||||
['1.2.3-0', 'v1.2.3-0', true],
|
|
||||||
['1.2.3-0', '=1.2.3-0', true],
|
|
||||||
['1.2.3-0', 'v 1.2.3-0', true],
|
|
||||||
['1.2.3-0', '= 1.2.3-0', true],
|
|
||||||
['1.2.3-0', ' v1.2.3-0', true],
|
|
||||||
['1.2.3-0', ' =1.2.3-0', true],
|
|
||||||
['1.2.3-0', ' v 1.2.3-0', true],
|
|
||||||
['1.2.3-0', ' = 1.2.3-0', true],
|
|
||||||
['1.2.3-1', 'v1.2.3-1', true],
|
|
||||||
['1.2.3-1', '=1.2.3-1', true],
|
|
||||||
['1.2.3-1', 'v 1.2.3-1', true],
|
|
||||||
['1.2.3-1', '= 1.2.3-1', true],
|
|
||||||
['1.2.3-1', ' v1.2.3-1', true],
|
|
||||||
['1.2.3-1', ' =1.2.3-1', true],
|
|
||||||
['1.2.3-1', ' v 1.2.3-1', true],
|
|
||||||
['1.2.3-1', ' = 1.2.3-1', true],
|
|
||||||
['1.2.3-beta', 'v1.2.3-beta', true],
|
|
||||||
['1.2.3-beta', '=1.2.3-beta', true],
|
|
||||||
['1.2.3-beta', 'v 1.2.3-beta', true],
|
|
||||||
['1.2.3-beta', '= 1.2.3-beta', true],
|
|
||||||
['1.2.3-beta', ' v1.2.3-beta', true],
|
|
||||||
['1.2.3-beta', ' =1.2.3-beta', true],
|
|
||||||
['1.2.3-beta', ' v 1.2.3-beta', true],
|
|
||||||
['1.2.3-beta', ' = 1.2.3-beta', true],
|
|
||||||
['1.2.3-beta+build', ' = 1.2.3-beta+otherbuild', true],
|
|
||||||
['1.2.3+build', ' = 1.2.3+otherbuild', true],
|
|
||||||
['1.2.3-beta+build', '1.2.3-beta+otherbuild'],
|
|
||||||
['1.2.3+build', '1.2.3+otherbuild'],
|
|
||||||
[' v1.2.3+build', '1.2.3+otherbuild']
|
|
||||||
].forEach(function(v) {
|
|
||||||
var v0 = v[0];
|
|
||||||
var v1 = v[1];
|
|
||||||
var loose = v[2];
|
|
||||||
t.ok(eq(v0, v1, loose), "eq('" + v0 + "', '" + v1 + "')");
|
|
||||||
t.ok(!neq(v0, v1, loose), "!neq('" + v0 + "', '" + v1 + "')");
|
|
||||||
t.ok(cmp(v0, '==', v1, loose), 'cmp(' + v0 + '==' + v1 + ')');
|
|
||||||
t.ok(!cmp(v0, '!=', v1, loose), '!cmp(' + v0 + '!=' + v1 + ')');
|
|
||||||
t.ok(!cmp(v0, '===', v1, loose), '!cmp(' + v0 + '===' + v1 + ')');
|
|
||||||
t.ok(cmp(v0, '!==', v1, loose), 'cmp(' + v0 + '!==' + v1 + ')');
|
|
||||||
t.ok(!gt(v0, v1, loose), "!gt('" + v0 + "', '" + v1 + "')");
|
|
||||||
t.ok(gte(v0, v1, loose), "gte('" + v0 + "', '" + v1 + "')");
|
|
||||||
t.ok(!lt(v0, v1, loose), "!lt('" + v0 + "', '" + v1 + "')");
|
|
||||||
t.ok(lte(v0, v1, loose), "lte('" + v0 + "', '" + v1 + "')");
|
|
||||||
});
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
test('\nrange tests', function(t) {
|
|
||||||
// [range, version]
|
|
||||||
// version should be included by range
|
|
||||||
[['1.0.0 - 2.0.0', '1.2.3'],
|
|
||||||
['1.0.0', '1.0.0'],
|
|
||||||
['>=*', '0.2.4'],
|
|
||||||
['', '1.0.0'],
|
|
||||||
['*', '1.2.3'],
|
|
||||||
['*', 'v1.2.3-foo', true],
|
|
||||||
['>=1.0.0', '1.0.0'],
|
|
||||||
['>=1.0.0', '1.0.1'],
|
|
||||||
['>=1.0.0', '1.1.0'],
|
|
||||||
['>1.0.0', '1.0.1'],
|
|
||||||
['>1.0.0', '1.1.0'],
|
|
||||||
['<=2.0.0', '2.0.0'],
|
|
||||||
['<=2.0.0', '1.9999.9999'],
|
|
||||||
['<=2.0.0', '0.2.9'],
|
|
||||||
['<2.0.0', '1.9999.9999'],
|
|
||||||
['<2.0.0', '0.2.9'],
|
|
||||||
['>= 1.0.0', '1.0.0'],
|
|
||||||
['>= 1.0.0', '1.0.1'],
|
|
||||||
['>= 1.0.0', '1.1.0'],
|
|
||||||
['> 1.0.0', '1.0.1'],
|
|
||||||
['> 1.0.0', '1.1.0'],
|
|
||||||
['<= 2.0.0', '2.0.0'],
|
|
||||||
['<= 2.0.0', '1.9999.9999'],
|
|
||||||
['<= 2.0.0', '0.2.9'],
|
|
||||||
['< 2.0.0', '1.9999.9999'],
|
|
||||||
['<\t2.0.0', '0.2.9'],
|
|
||||||
['>=0.1.97', 'v0.1.97', true],
|
|
||||||
['>=0.1.97', '0.1.97'],
|
|
||||||
['0.1.20 || 1.2.4', '1.2.4'],
|
|
||||||
['>=0.2.3 || <0.0.1', '0.0.0'],
|
|
||||||
['>=0.2.3 || <0.0.1', '0.2.3'],
|
|
||||||
['>=0.2.3 || <0.0.1', '0.2.4'],
|
|
||||||
['||', '1.3.4'],
|
|
||||||
['2.x.x', '2.1.3'],
|
|
||||||
['1.2.x', '1.2.3'],
|
|
||||||
['1.2.x || 2.x', '2.1.3'],
|
|
||||||
['1.2.x || 2.x', '1.2.3'],
|
|
||||||
['x', '1.2.3'],
|
|
||||||
['2.*.*', '2.1.3'],
|
|
||||||
['1.2.*', '1.2.3'],
|
|
||||||
['1.2.* || 2.*', '2.1.3'],
|
|
||||||
['1.2.* || 2.*', '1.2.3'],
|
|
||||||
['*', '1.2.3'],
|
|
||||||
['2', '2.1.2'],
|
|
||||||
['2.3', '2.3.1'],
|
|
||||||
['~2.4', '2.4.0'], // >=2.4.0 <2.5.0
|
|
||||||
['~2.4', '2.4.5'],
|
|
||||||
['~>3.2.1', '3.2.2'], // >=3.2.1 <3.3.0,
|
|
||||||
['~1', '1.2.3'], // >=1.0.0 <2.0.0
|
|
||||||
['~>1', '1.2.3'],
|
|
||||||
['~> 1', '1.2.3'],
|
|
||||||
['~1.0', '1.0.2'], // >=1.0.0 <1.1.0,
|
|
||||||
['~ 1.0', '1.0.2'],
|
|
||||||
['~ 1.0.3', '1.0.12'],
|
|
||||||
['>=1', '1.0.0'],
|
|
||||||
['>= 1', '1.0.0'],
|
|
||||||
['<1.2', '1.1.1'],
|
|
||||||
['< 1.2', '1.1.1'],
|
|
||||||
['1', '1.0.0beta', true],
|
|
||||||
['~v0.5.4-pre', '0.5.5'],
|
|
||||||
['~v0.5.4-pre', '0.5.4'],
|
|
||||||
['=0.7.x', '0.7.2'],
|
|
||||||
['>=0.7.x', '0.7.2'],
|
|
||||||
['=0.7.x', '0.7.0-asdf'],
|
|
||||||
['>=0.7.x', '0.7.0-asdf'],
|
|
||||||
['<=0.7.x', '0.6.2'],
|
|
||||||
['~1.2.1 >=1.2.3', '1.2.3'],
|
|
||||||
['~1.2.1 =1.2.3', '1.2.3'],
|
|
||||||
['~1.2.1 1.2.3', '1.2.3'],
|
|
||||||
['~1.2.1 >=1.2.3 1.2.3', '1.2.3'],
|
|
||||||
['~1.2.1 1.2.3 >=1.2.3', '1.2.3'],
|
|
||||||
['~1.2.1 1.2.3', '1.2.3'],
|
|
||||||
['>=1.2.1 1.2.3', '1.2.3'],
|
|
||||||
['1.2.3 >=1.2.1', '1.2.3'],
|
|
||||||
['>=1.2.3 >=1.2.1', '1.2.3'],
|
|
||||||
['>=1.2.1 >=1.2.3', '1.2.3'],
|
|
||||||
['<=1.2.3', '1.2.3-beta'],
|
|
||||||
['>1.2', '1.3.0-beta'],
|
|
||||||
['>=1.2', '1.2.8']
|
|
||||||
].forEach(function(v) {
|
|
||||||
var range = v[0];
|
|
||||||
var ver = v[1];
|
|
||||||
var loose = v[2];
|
|
||||||
t.ok(satisfies(ver, range, loose), range + ' satisfied by ' + ver);
|
|
||||||
});
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('\nnegative range tests', function(t) {
|
|
||||||
// [range, version]
|
|
||||||
// version should not be included by range
|
|
||||||
[['1.0.0 - 2.0.0', '2.2.3'],
|
|
||||||
['1.0.0', '1.0.1'],
|
|
||||||
['>=1.0.0', '0.0.0'],
|
|
||||||
['>=1.0.0', '0.0.1'],
|
|
||||||
['>=1.0.0', '0.1.0'],
|
|
||||||
['>1.0.0', '0.0.1'],
|
|
||||||
['>1.0.0', '0.1.0'],
|
|
||||||
['<=2.0.0', '3.0.0'],
|
|
||||||
['<=2.0.0', '2.9999.9999'],
|
|
||||||
['<=2.0.0', '2.2.9'],
|
|
||||||
['<2.0.0', '2.9999.9999'],
|
|
||||||
['<2.0.0', '2.2.9'],
|
|
||||||
['>=0.1.97', 'v0.1.93', true],
|
|
||||||
['>=0.1.97', '0.1.93'],
|
|
||||||
['0.1.20 || 1.2.4', '1.2.3'],
|
|
||||||
['>=0.2.3 || <0.0.1', '0.0.3'],
|
|
||||||
['>=0.2.3 || <0.0.1', '0.2.2'],
|
|
||||||
['2.x.x', '1.1.3'],
|
|
||||||
['2.x.x', '3.1.3'],
|
|
||||||
['1.2.x', '1.3.3'],
|
|
||||||
['1.2.x || 2.x', '3.1.3'],
|
|
||||||
['1.2.x || 2.x', '1.1.3'],
|
|
||||||
['2.*.*', '1.1.3'],
|
|
||||||
['2.*.*', '3.1.3'],
|
|
||||||
['1.2.*', '1.3.3'],
|
|
||||||
['1.2.* || 2.*', '3.1.3'],
|
|
||||||
['1.2.* || 2.*', '1.1.3'],
|
|
||||||
['2', '1.1.2'],
|
|
||||||
['2.3', '2.4.1'],
|
|
||||||
['~2.4', '2.5.0'], // >=2.4.0 <2.5.0
|
|
||||||
['~2.4', '2.3.9'],
|
|
||||||
['~>3.2.1', '3.3.2'], // >=3.2.1 <3.3.0
|
|
||||||
['~>3.2.1', '3.2.0'], // >=3.2.1 <3.3.0
|
|
||||||
['~1', '0.2.3'], // >=1.0.0 <2.0.0
|
|
||||||
['~>1', '2.2.3'],
|
|
||||||
['~1.0', '1.1.0'], // >=1.0.0 <1.1.0
|
|
||||||
['<1', '1.0.0'],
|
|
||||||
['>=1.2', '1.1.1'],
|
|
||||||
['1', '2.0.0beta', true],
|
|
||||||
['~v0.5.4-beta', '0.5.4-alpha'],
|
|
||||||
['<1', '1.0.0beta', true],
|
|
||||||
['< 1', '1.0.0beta', true],
|
|
||||||
['=0.7.x', '0.8.2'],
|
|
||||||
['>=0.7.x', '0.6.2'],
|
|
||||||
['<=0.7.x', '0.7.2'],
|
|
||||||
['<1.2.3', '1.2.3-beta'],
|
|
||||||
['=1.2.3', '1.2.3-beta'],
|
|
||||||
['>1.2', '1.2.8'],
|
|
||||||
// invalid ranges never satisfied!
|
|
||||||
['blerg', '1.2.3']
|
|
||||||
].forEach(function(v) {
|
|
||||||
var range = v[0];
|
|
||||||
var ver = v[1];
|
|
||||||
var loose = v[2];
|
|
||||||
var found = satisfies(ver, range, loose);
|
|
||||||
t.ok(!found, ver + ' not satisfied by ' + range);
|
|
||||||
});
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('\nincrement versions test', function(t) {
|
|
||||||
// [version, inc, result]
|
|
||||||
// inc(version, inc) -> result
|
|
||||||
[['1.2.3', 'major', '2.0.0'],
|
|
||||||
['1.2.3', 'minor', '1.3.0'],
|
|
||||||
['1.2.3', 'patch', '1.2.4'],
|
|
||||||
['1.2.3tag', 'major', '2.0.0', true],
|
|
||||||
['1.2.3-tag', 'major', '2.0.0'],
|
|
||||||
['1.2.3', 'fake', null],
|
|
||||||
['fake', 'major', null],
|
|
||||||
['1.2.3', 'prerelease', '1.2.3-0'],
|
|
||||||
['1.2.3-0', 'prerelease', '1.2.3-1'],
|
|
||||||
['1.2.3-alpha.0', 'prerelease', '1.2.3-alpha.1'],
|
|
||||||
['1.2.3-alpha.1', 'prerelease', '1.2.3-alpha.2'],
|
|
||||||
['1.2.3-alpha.2', 'prerelease', '1.2.3-alpha.3'],
|
|
||||||
['1.2.3-alpha.0.beta', 'prerelease', '1.2.3-alpha.1.beta'],
|
|
||||||
['1.2.3-alpha.1.beta', 'prerelease', '1.2.3-alpha.2.beta'],
|
|
||||||
['1.2.3-alpha.2.beta', 'prerelease', '1.2.3-alpha.3.beta'],
|
|
||||||
['1.2.3-alpha.10.0.beta', 'prerelease', '1.2.3-alpha.10.1.beta'],
|
|
||||||
['1.2.3-alpha.10.1.beta', 'prerelease', '1.2.3-alpha.10.2.beta'],
|
|
||||||
['1.2.3-alpha.10.2.beta', 'prerelease', '1.2.3-alpha.10.3.beta'],
|
|
||||||
['1.2.3-alpha.10.beta.0', 'prerelease', '1.2.3-alpha.10.beta.1'],
|
|
||||||
['1.2.3-alpha.10.beta.1', 'prerelease', '1.2.3-alpha.10.beta.2'],
|
|
||||||
['1.2.3-alpha.10.beta.2', 'prerelease', '1.2.3-alpha.10.beta.3'],
|
|
||||||
['1.2.3-alpha.9.beta', 'prerelease', '1.2.3-alpha.10.beta'],
|
|
||||||
['1.2.3-alpha.10.beta', 'prerelease', '1.2.3-alpha.11.beta'],
|
|
||||||
['1.2.3-alpha.11.beta', 'prerelease', '1.2.3-alpha.12.beta']
|
|
||||||
].forEach(function(v) {
|
|
||||||
var pre = v[0];
|
|
||||||
var what = v[1];
|
|
||||||
var wanted = v[2];
|
|
||||||
var loose = v[3];
|
|
||||||
var found = inc(pre, what, loose);
|
|
||||||
t.equal(found, wanted, 'inc(' + pre + ', ' + what + ') === ' + wanted);
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('\nvalid range test', function(t) {
|
|
||||||
// [range, result]
|
|
||||||
// validRange(range) -> result
|
|
||||||
// translate ranges into their canonical form
|
|
||||||
[['1.0.0 - 2.0.0', '>=1.0.0 <=2.0.0'],
|
|
||||||
['1.0.0', '1.0.0'],
|
|
||||||
['>=*', '>=0.0.0-0'],
|
|
||||||
['', '*'],
|
|
||||||
['*', '*'],
|
|
||||||
['*', '*'],
|
|
||||||
['>=1.0.0', '>=1.0.0'],
|
|
||||||
['>1.0.0', '>1.0.0'],
|
|
||||||
['<=2.0.0', '<=2.0.0'],
|
|
||||||
['1', '>=1.0.0-0 <2.0.0-0'],
|
|
||||||
['<=2.0.0', '<=2.0.0'],
|
|
||||||
['<=2.0.0', '<=2.0.0'],
|
|
||||||
['<2.0.0', '<2.0.0-0'],
|
|
||||||
['<2.0.0', '<2.0.0-0'],
|
|
||||||
['>= 1.0.0', '>=1.0.0'],
|
|
||||||
['>= 1.0.0', '>=1.0.0'],
|
|
||||||
['>= 1.0.0', '>=1.0.0'],
|
|
||||||
['> 1.0.0', '>1.0.0'],
|
|
||||||
['> 1.0.0', '>1.0.0'],
|
|
||||||
['<= 2.0.0', '<=2.0.0'],
|
|
||||||
['<= 2.0.0', '<=2.0.0'],
|
|
||||||
['<= 2.0.0', '<=2.0.0'],
|
|
||||||
['< 2.0.0', '<2.0.0-0'],
|
|
||||||
['< 2.0.0', '<2.0.0-0'],
|
|
||||||
['>=0.1.97', '>=0.1.97'],
|
|
||||||
['>=0.1.97', '>=0.1.97'],
|
|
||||||
['0.1.20 || 1.2.4', '0.1.20||1.2.4'],
|
|
||||||
['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1-0'],
|
|
||||||
['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1-0'],
|
|
||||||
['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1-0'],
|
|
||||||
['||', '||'],
|
|
||||||
['2.x.x', '>=2.0.0-0 <3.0.0-0'],
|
|
||||||
['1.2.x', '>=1.2.0-0 <1.3.0-0'],
|
|
||||||
['1.2.x || 2.x', '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'],
|
|
||||||
['1.2.x || 2.x', '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'],
|
|
||||||
['x', '*'],
|
|
||||||
['2.*.*', '>=2.0.0-0 <3.0.0-0'],
|
|
||||||
['1.2.*', '>=1.2.0-0 <1.3.0-0'],
|
|
||||||
['1.2.* || 2.*', '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'],
|
|
||||||
['*', '*'],
|
|
||||||
['2', '>=2.0.0-0 <3.0.0-0'],
|
|
||||||
['2.3', '>=2.3.0-0 <2.4.0-0'],
|
|
||||||
['~2.4', '>=2.4.0-0 <2.5.0-0'],
|
|
||||||
['~2.4', '>=2.4.0-0 <2.5.0-0'],
|
|
||||||
['~>3.2.1', '>=3.2.1-0 <3.3.0-0'],
|
|
||||||
['~1', '>=1.0.0-0 <2.0.0-0'],
|
|
||||||
['~>1', '>=1.0.0-0 <2.0.0-0'],
|
|
||||||
['~> 1', '>=1.0.0-0 <2.0.0-0'],
|
|
||||||
['~1.0', '>=1.0.0-0 <1.1.0-0'],
|
|
||||||
['~ 1.0', '>=1.0.0-0 <1.1.0-0'],
|
|
||||||
['<1', '<1.0.0-0'],
|
|
||||||
['< 1', '<1.0.0-0'],
|
|
||||||
['>=1', '>=1.0.0-0'],
|
|
||||||
['>= 1', '>=1.0.0-0'],
|
|
||||||
['<1.2', '<1.2.0-0'],
|
|
||||||
['< 1.2', '<1.2.0-0'],
|
|
||||||
['1', '>=1.0.0-0 <2.0.0-0'],
|
|
||||||
['>01.02.03', '>1.2.3', true],
|
|
||||||
['>01.02.03', null],
|
|
||||||
['~1.2.3beta', '>=1.2.3-beta <1.3.0-0', true],
|
|
||||||
['~1.2.3beta', null]
|
|
||||||
].forEach(function(v) {
|
|
||||||
var pre = v[0];
|
|
||||||
var wanted = v[1];
|
|
||||||
var loose = v[2];
|
|
||||||
var found = validRange(pre, loose);
|
|
||||||
|
|
||||||
t.equal(found, wanted, 'validRange(' + pre + ') === ' + wanted);
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('\ncomparators test', function(t) {
|
|
||||||
// [range, comparators]
|
|
||||||
// turn range into a set of individual comparators
|
|
||||||
[['1.0.0 - 2.0.0', [['>=1.0.0', '<=2.0.0']]],
|
|
||||||
['1.0.0', [['1.0.0']]],
|
|
||||||
['>=*', [['>=0.0.0-0']]],
|
|
||||||
['', [['']]],
|
|
||||||
['*', [['']]],
|
|
||||||
['*', [['']]],
|
|
||||||
['>=1.0.0', [['>=1.0.0']]],
|
|
||||||
['>=1.0.0', [['>=1.0.0']]],
|
|
||||||
['>=1.0.0', [['>=1.0.0']]],
|
|
||||||
['>1.0.0', [['>1.0.0']]],
|
|
||||||
['>1.0.0', [['>1.0.0']]],
|
|
||||||
['<=2.0.0', [['<=2.0.0']]],
|
|
||||||
['1', [['>=1.0.0-0', '<2.0.0-0']]],
|
|
||||||
['<=2.0.0', [['<=2.0.0']]],
|
|
||||||
['<=2.0.0', [['<=2.0.0']]],
|
|
||||||
['<2.0.0', [['<2.0.0-0']]],
|
|
||||||
['<2.0.0', [['<2.0.0-0']]],
|
|
||||||
['>= 1.0.0', [['>=1.0.0']]],
|
|
||||||
['>= 1.0.0', [['>=1.0.0']]],
|
|
||||||
['>= 1.0.0', [['>=1.0.0']]],
|
|
||||||
['> 1.0.0', [['>1.0.0']]],
|
|
||||||
['> 1.0.0', [['>1.0.0']]],
|
|
||||||
['<= 2.0.0', [['<=2.0.0']]],
|
|
||||||
['<= 2.0.0', [['<=2.0.0']]],
|
|
||||||
['<= 2.0.0', [['<=2.0.0']]],
|
|
||||||
['< 2.0.0', [['<2.0.0-0']]],
|
|
||||||
['<\t2.0.0', [['<2.0.0-0']]],
|
|
||||||
['>=0.1.97', [['>=0.1.97']]],
|
|
||||||
['>=0.1.97', [['>=0.1.97']]],
|
|
||||||
['0.1.20 || 1.2.4', [['0.1.20'], ['1.2.4']]],
|
|
||||||
['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1-0']]],
|
|
||||||
['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1-0']]],
|
|
||||||
['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1-0']]],
|
|
||||||
['||', [[''], ['']]],
|
|
||||||
['2.x.x', [['>=2.0.0-0', '<3.0.0-0']]],
|
|
||||||
['1.2.x', [['>=1.2.0-0', '<1.3.0-0']]],
|
|
||||||
['1.2.x || 2.x', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
|
|
||||||
['1.2.x || 2.x', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
|
|
||||||
['x', [['']]],
|
|
||||||
['2.*.*', [['>=2.0.0-0', '<3.0.0-0']]],
|
|
||||||
['1.2.*', [['>=1.2.0-0', '<1.3.0-0']]],
|
|
||||||
['1.2.* || 2.*', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
|
|
||||||
['1.2.* || 2.*', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
|
|
||||||
['*', [['']]],
|
|
||||||
['2', [['>=2.0.0-0', '<3.0.0-0']]],
|
|
||||||
['2.3', [['>=2.3.0-0', '<2.4.0-0']]],
|
|
||||||
['~2.4', [['>=2.4.0-0', '<2.5.0-0']]],
|
|
||||||
['~2.4', [['>=2.4.0-0', '<2.5.0-0']]],
|
|
||||||
['~>3.2.1', [['>=3.2.1-0', '<3.3.0-0']]],
|
|
||||||
['~1', [['>=1.0.0-0', '<2.0.0-0']]],
|
|
||||||
['~>1', [['>=1.0.0-0', '<2.0.0-0']]],
|
|
||||||
['~> 1', [['>=1.0.0-0', '<2.0.0-0']]],
|
|
||||||
['~1.0', [['>=1.0.0-0', '<1.1.0-0']]],
|
|
||||||
['~ 1.0', [['>=1.0.0-0', '<1.1.0-0']]],
|
|
||||||
['~ 1.0.3', [['>=1.0.3-0', '<1.1.0-0']]],
|
|
||||||
['~> 1.0.3', [['>=1.0.3-0', '<1.1.0-0']]],
|
|
||||||
['<1', [['<1.0.0-0']]],
|
|
||||||
['< 1', [['<1.0.0-0']]],
|
|
||||||
['>=1', [['>=1.0.0-0']]],
|
|
||||||
['>= 1', [['>=1.0.0-0']]],
|
|
||||||
['<1.2', [['<1.2.0-0']]],
|
|
||||||
['< 1.2', [['<1.2.0-0']]],
|
|
||||||
['1', [['>=1.0.0-0', '<2.0.0-0']]],
|
|
||||||
['1 2', [['>=1.0.0-0', '<2.0.0-0', '>=2.0.0-0', '<3.0.0-0']]],
|
|
||||||
['1.2 - 3.4.5', [['>=1.2.0-0', '<=3.4.5']]],
|
|
||||||
['1.2.3 - 3.4', [['>=1.2.3', '<3.5.0-0']]]
|
|
||||||
].forEach(function(v) {
|
|
||||||
var pre = v[0];
|
|
||||||
var wanted = v[1];
|
|
||||||
var found = toComparators(v[0]);
|
|
||||||
var jw = JSON.stringify(wanted);
|
|
||||||
t.equivalent(found, wanted, 'toComparators(' + pre + ') === ' + jw);
|
|
||||||
});
|
|
||||||
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('\nstrict vs loose version numbers', function(t) {
|
|
||||||
[['=1.2.3', '1.2.3'],
|
|
||||||
['01.02.03', '1.2.3'],
|
|
||||||
['1.2.3-beta.01', '1.2.3-beta.1'],
|
|
||||||
[' =1.2.3', '1.2.3'],
|
|
||||||
['1.2.3foo', '1.2.3-foo']
|
|
||||||
].forEach(function(v) {
|
|
||||||
var loose = v[0];
|
|
||||||
var strict = v[1];
|
|
||||||
t.throws(function() {
|
|
||||||
new SemVer(loose);
|
|
||||||
});
|
|
||||||
var lv = new SemVer(loose, true);
|
|
||||||
t.equal(lv.version, strict);
|
|
||||||
t.ok(eq(loose, strict, true));
|
|
||||||
t.throws(function() {
|
|
||||||
eq(loose, strict);
|
|
||||||
});
|
|
||||||
t.throws(function() {
|
|
||||||
new SemVer(strict).compare(loose);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
t.end();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('\nstrict vs loose ranges', function(t) {
|
|
||||||
[['>=01.02.03', '>=1.2.3'],
|
|
||||||
['~1.02.03beta', '>=1.2.3-beta <1.3.0-0']
|
|
||||||
].forEach(function(v) {
|
|
||||||
var loose = v[0];
|
|
||||||
var comps = v[1];
|
|
||||||
t.throws(function() {
|
|
||||||
new Range(loose);
|
|
||||||
});
|
|
||||||
t.equal(new Range(loose, true).range, comps);
|
|
||||||
});
|
|
||||||
t.end();
|
|
||||||
});
|
|
Loading…
Add table
Add a link
Reference in a new issue