remove tests for four-segment version (#648)
* remove tests for four-segment version * avoid duplications
This commit is contained in:
parent
e5f1e47c99
commit
63ba8890b5
1 changed files with 36 additions and 33 deletions
|
@ -3,43 +3,42 @@
|
|||
|
||||
import compareVersions from 'components/Version/compareVersions';
|
||||
|
||||
const runTests = (dataSet: [string, string, number][]) => {
|
||||
dataSet.forEach(([v1, v2, expected]) => {
|
||||
expect(compareVersions(v1, v2)).toEqual(expected);
|
||||
});
|
||||
};
|
||||
|
||||
describe('compareVersions function', () => {
|
||||
it('single-segment versions', () => {
|
||||
expect(compareVersions('10', '9')).toEqual(1);
|
||||
expect(compareVersions('10', '10')).toEqual(0);
|
||||
expect(compareVersions('9', '10')).toEqual(-1);
|
||||
runTests([
|
||||
['10', '9', 1],
|
||||
['10', '10', 0],
|
||||
['9', '10', -1],
|
||||
]);
|
||||
});
|
||||
|
||||
it('two-segment versions', () => {
|
||||
expect(compareVersions('10.8', '10.4')).toEqual(1);
|
||||
expect(compareVersions('10.1', '10.1')).toEqual(0);
|
||||
expect(compareVersions('10.1', '10.2')).toEqual(-1);
|
||||
runTests([
|
||||
['10.8', '10.4', 1],
|
||||
['10.1', '10.2', -1],
|
||||
['10.1', '10.1', 0],
|
||||
]);
|
||||
});
|
||||
|
||||
it('three-segment versions', () => {
|
||||
expect(compareVersions('10.1.8', '10.0.4')).toEqual(1);
|
||||
expect(compareVersions('10.0.1', '10.0.1')).toEqual(0);
|
||||
expect(compareVersions('10.1.1', '10.2.2')).toEqual(-1);
|
||||
});
|
||||
|
||||
it('four-segment versions', () => {
|
||||
expect(compareVersions('1.0.0.0', '1')).toEqual(0);
|
||||
expect(compareVersions('1.0.0.0', '1.0')).toEqual(0);
|
||||
expect(compareVersions('1.0.0.0', '1.0.0')).toEqual(0);
|
||||
expect(compareVersions('1.0.0.0', '1.0.0.0')).toEqual(0);
|
||||
expect(compareVersions('1.2.3.4', '1.2.3.4')).toEqual(0);
|
||||
expect(compareVersions('1.2.3.4', '1.2.3.04')).toEqual(0);
|
||||
expect(compareVersions('v1.2.3.4', '01.2.3.4')).toEqual(0);
|
||||
|
||||
expect(compareVersions('1.2.3.4', '1.2.3.5')).toEqual(-1);
|
||||
expect(compareVersions('1.2.3.5', '1.2.3.4')).toEqual(1);
|
||||
expect(compareVersions('1.0.0.0-alpha', '1.0.0-alpha')).toEqual(0);
|
||||
expect(compareVersions('1.0.0.0-alpha', '1.0.0.0-beta')).toEqual(0);
|
||||
runTests([
|
||||
['10.1.1', '10.2.2', -1],
|
||||
['10.1.8', '10.0.4', 1],
|
||||
['10.0.1', '10.0.1', 0],
|
||||
]);
|
||||
});
|
||||
|
||||
it('different number of digits in same group', () => {
|
||||
expect(compareVersions('11.0.10', '11.0.2')).toEqual(1);
|
||||
expect(compareVersions('11.0.2', '11.0.10')).toEqual(-1);
|
||||
runTests([
|
||||
['11.0.10', '11.0.2', 1],
|
||||
['11.0.2', '11.0.10', -1],
|
||||
]);
|
||||
});
|
||||
|
||||
it('different number of digits in different groups', () => {
|
||||
|
@ -47,16 +46,20 @@ describe('compareVersions function', () => {
|
|||
});
|
||||
|
||||
it('different number of digits', () => {
|
||||
expect(compareVersions('1.1.1', '1')).toEqual(1);
|
||||
expect(compareVersions('1.0.0', '1')).toEqual(0);
|
||||
expect(compareVersions('1.0', '1.4.1')).toEqual(-1);
|
||||
runTests([
|
||||
['1.1.1', '1', 1],
|
||||
['1.0.0', '1', 0],
|
||||
['1.0', '1.4.1', -1],
|
||||
]);
|
||||
});
|
||||
|
||||
it('ignore non-numeric characters', () => {
|
||||
expect(compareVersions('1.0.0-alpha.1', '1.0.0-alpha')).toEqual(0);
|
||||
expect(compareVersions('1.0.0-rc', '1.0.0')).toEqual(0);
|
||||
expect(compareVersions('1.0.0-alpha', '1')).toEqual(0);
|
||||
expect(compareVersions('v1.0.0', '1.0.0')).toEqual(0);
|
||||
runTests([
|
||||
['1.0.0-alpha.1', '1.0.0-alpha', 0],
|
||||
['1.0.0-rc', '1.0.0', 0],
|
||||
['1.0.0-alpha', '1', 0],
|
||||
['v1.0.0', '1.0.0', 0],
|
||||
]);
|
||||
});
|
||||
|
||||
it('returns valid result (negative test cases)', () => {
|
||||
|
|
Loading…
Add table
Reference in a new issue