nvim/coc/extensions/node_modules/coc-go/lib/utils/versions.test.js

58 lines
3.1 KiB
JavaScript
Raw Normal View History

2021-03-09 22:18:08 +00:00
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const assert_1 = tslib_1.__importDefault(require("assert"));
const versions_1 = require("./versions");
const v0 = [0, 0, 0];
const v1 = [1, 0, 0];
const v1_2 = [1, 2, 0];
const v1_2_3 = [1, 2, 3];
describe('isValidVersion()', () => {
it('should recognise valid versions', () => {
assert_1.default.ok(versions_1.isValidVersion('v1.0.0'));
assert_1.default.ok(versions_1.isValidVersion('1.0.0'));
assert_1.default.ok(versions_1.isValidVersion('0.1.0'));
assert_1.default.ok(versions_1.isValidVersion('0.0.1'));
assert_1.default.ok(versions_1.isValidVersion('0.0.0'));
assert_1.default.ok(versions_1.isValidVersion('v0.0.0'));
});
it('should recognise invalid versions', () => {
assert_1.default.ok(!versions_1.isValidVersion('v 1.0.0'));
assert_1.default.ok(!versions_1.isValidVersion('1'));
assert_1.default.ok(!versions_1.isValidVersion('1.1'));
});
});
describe("parseVersion()", () => {
it("should parse simple versions", () => {
assert_1.default.deepStrictEqual(versions_1.parseVersion('v0.0.0'), v0);
assert_1.default.deepStrictEqual(versions_1.parseVersion('v1.0.0'), v1);
assert_1.default.deepStrictEqual(versions_1.parseVersion('v1.2.0'), v1_2);
assert_1.default.deepStrictEqual(versions_1.parseVersion('v1.2.3'), v1_2_3);
});
});
describe('compareVersions()', () => {
it('should compare equal version', () => {
assert_1.default.throws(() => versions_1.compareVersions('', ''));
assert_1.default.strictEqual(versions_1.compareVersions('1.0.0', '1.0.0'), 0);
assert_1.default.strictEqual(versions_1.compareVersions('1.2.0', '1.2.0'), 0);
assert_1.default.strictEqual(versions_1.compareVersions('1.2.3', '1.2.3'), 0);
assert_1.default.strictEqual(versions_1.compareVersions('v1.0.0', '1.0.0'), 0);
});
it('should compare greater version', () => {
assert_1.default.throws(() => versions_1.compareVersions('', ''));
assert_1.default.strictEqual(versions_1.compareVersions('2.0.0', '1.0.0'), 1);
assert_1.default.strictEqual(versions_1.compareVersions('1.1.0', '1.0.0'), 1);
assert_1.default.strictEqual(versions_1.compareVersions('1.0.4', '1.0.0'), 1);
assert_1.default.strictEqual(versions_1.compareVersions('v1.1.0', '1.0.0'), 1);
assert_1.default.strictEqual(versions_1.compareVersions('1.1.0', 'v1.0.0'), 1);
});
it('should compare smaller version', () => {
assert_1.default.throws(() => versions_1.compareVersions('', ''));
assert_1.default.strictEqual(versions_1.compareVersions('1.0.0', '2.0.0'), -1);
assert_1.default.strictEqual(versions_1.compareVersions('1.0.0', '1.1.0'), -1);
assert_1.default.strictEqual(versions_1.compareVersions('1.0.0', '1.0.4'), -1);
assert_1.default.strictEqual(versions_1.compareVersions('1.0.0', 'v1.1.0'), -1);
assert_1.default.strictEqual(versions_1.compareVersions('v1.0.0', '1.1.0'), -1);
});
});
//# sourceMappingURL=versions.test.js.map