mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-14 01:25:37 -05:00
80 lines
2.0 KiB
TypeScript
80 lines
2.0 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import assert = require('assert');
|
|
import util = require('../util');
|
|
|
|
function getMockTagExists(tags: string[]) {
|
|
return (tag: string) => tags.indexOf(tag) >= 0;
|
|
}
|
|
|
|
suite('util tests', () => {
|
|
test('getPreviousVersion - patch', () => {
|
|
assert.equal(
|
|
util.getPreviousVersion('1.2.3', getMockTagExists(['1.2.2', '1.2.1', '1.2.0', '1.1.0'])),
|
|
'1.2.2'
|
|
);
|
|
});
|
|
|
|
test('getPreviousVersion - patch invalid', () => {
|
|
try {
|
|
util.getPreviousVersion('1.2.2', getMockTagExists(['1.2.0', '1.1.0']));
|
|
} catch (e) {
|
|
// expected
|
|
return;
|
|
}
|
|
|
|
throw new Error('Expected an exception');
|
|
});
|
|
|
|
test('getPreviousVersion - minor', () => {
|
|
assert.equal(
|
|
util.getPreviousVersion('1.2.0', getMockTagExists(['1.1.0', '1.1.1', '1.1.2', '1.1.3'])),
|
|
'1.1.3'
|
|
);
|
|
|
|
assert.equal(
|
|
util.getPreviousVersion('1.2.0', getMockTagExists(['1.1.0', '1.0.0'])),
|
|
'1.1.0'
|
|
);
|
|
});
|
|
|
|
test('getPreviousVersion - minor gap', () => {
|
|
assert.equal(
|
|
util.getPreviousVersion('1.2.0', getMockTagExists(['1.1.0', '1.1.1', '1.1.3'])),
|
|
'1.1.1'
|
|
);
|
|
});
|
|
|
|
test('getPreviousVersion - minor invalid', () => {
|
|
try {
|
|
util.getPreviousVersion('1.2.0', getMockTagExists(['1.0.0']));
|
|
} catch (e) {
|
|
// expected
|
|
return;
|
|
}
|
|
|
|
throw new Error('Expected an exception');
|
|
});
|
|
|
|
test('getPreviousVersion - major', () => {
|
|
assert.equal(
|
|
util.getPreviousVersion('2.0.0', getMockTagExists(['1.0.0', '1.1.0', '1.2.0', '1.2.1', '1.2.2'])),
|
|
'1.2.2'
|
|
);
|
|
});
|
|
|
|
test('getPreviousVersion - major invalid', () => {
|
|
try {
|
|
util.getPreviousVersion('3.0.0', getMockTagExists(['1.0.0']));
|
|
} catch (e) {
|
|
// expected
|
|
return;
|
|
}
|
|
|
|
throw new Error('Expected an exception');
|
|
});
|
|
});
|