mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
var _ = require('underscore');
|
|
var utils = require('../utils/utils.js');
|
|
var selftest = require('../tool-testing/selftest.js');
|
|
|
|
|
|
selftest.define("release management - default orderKey", function () {
|
|
var t = function (cases) {
|
|
_.each(cases, function (c) {
|
|
var version = c[0];
|
|
var expectedOrderKey = c[1];
|
|
var actualOrderKey = utils.defaultOrderKeyForReleaseVersion(version);
|
|
selftest.expectEqual(actualOrderKey, expectedOrderKey);
|
|
});
|
|
};
|
|
|
|
t([
|
|
['1', '0001$'],
|
|
['0', '0000$'],
|
|
['01', null],
|
|
['', null],
|
|
['1.2.3', '0001.0002.0003$'],
|
|
['42.123', '0042.0123$'],
|
|
['1234', '1234$'],
|
|
['12345', null],
|
|
['123.012', null],
|
|
['1.2.3-preview', '0001.0002.0003!preview!!!!!!!!$'],
|
|
['1.2.3.4-AbCdEfG-HiJkLmO', '0001.0002.0003.0004!AbCdEfG-HiJkLmO$'],
|
|
['1.2.3.4-AbCdEfG-HiJkLmOp', null],
|
|
['1.2.3.4-AbCdEfG-HiJkLmO0', '0001.0002.0003.0004!AbCdEfG-HiJkLmO0000$'],
|
|
['1.2.3.4-AbCdEfG-HiJkLmO01', null],
|
|
['1.2.3.4-AbCdEfG-HiJkLmO12345', null],
|
|
['1.2.3.4-AbCdEfG-HiJkLmO15', '0001.0002.0003.0004!AbCdEfG-HiJkLmO0015$'],
|
|
['1.2.3.4-rc2', '0001.0002.0003.0004!rc!!!!!!!!!!!!!0002$'],
|
|
['1.2.3.4-2rc', null],
|
|
['1.2.3.4r', null]
|
|
]);
|
|
|
|
var ordered = [
|
|
'1.2',
|
|
'1.2.0',
|
|
'1.2.1',
|
|
'1.2.1.4',
|
|
'1.2.2',
|
|
'1.2.15',
|
|
'1.15.2',
|
|
'1.15.3-preview',
|
|
'1.15.3-preview2',
|
|
'1.15.3-preview15',
|
|
'1.15.3-rc',
|
|
'1.15.3-rc2',
|
|
'1.15.3-rc15',
|
|
'1.15.3-rd15',
|
|
'1.15.3-rda15',
|
|
'1.15.3',
|
|
'2'
|
|
];
|
|
|
|
for (var i = 0; i < ordered.length - 1; ++i) {
|
|
var first = utils.defaultOrderKeyForReleaseVersion(ordered[i]);
|
|
var next = utils.defaultOrderKeyForReleaseVersion(ordered[i + 1]);
|
|
selftest.expectEqual(first !== null, true);
|
|
selftest.expectEqual(next !== null, true);
|
|
selftest.expectEqual(first < next, true);
|
|
}
|
|
});
|