summaryrefslogtreecommitdiff
path: root/.config/coc/extensions/node_modules/coc-go/lib/utils/versions.test.js
blob: 640786f925fbf69f92889c9cd0e7ee1aeb657f85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
"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, 0, 0];
const v1_0_0 = [1, 0, 0];
const v1_2_0 = [1, 2, 0];
const v1_2_3 = [1, 2, 3];
describe('isValidVersion()', () => {
    it('should recognise valid versions', () => {
        assert_1.default.ok((0, versions_1.isValidVersion)('v1.0.0'));
        assert_1.default.ok((0, versions_1.isValidVersion)('1.0.0'));
        assert_1.default.ok((0, versions_1.isValidVersion)('0.1.0'));
        assert_1.default.ok((0, versions_1.isValidVersion)('0.0.1'));
        assert_1.default.ok((0, versions_1.isValidVersion)('0.0.0'));
        assert_1.default.ok((0, versions_1.isValidVersion)('v0.0.0'));
    });
    it('should recognise invalid versions', () => {
        assert_1.default.ok(!(0, versions_1.isValidVersion)('v 1.0.0'));
        assert_1.default.ok(!(0, versions_1.isValidVersion)('1'));
        assert_1.default.ok((0, versions_1.isValidVersion)('1.1'));
    });
});
describe("parseVersion()", () => {
    it("should parse simple versions", () => {
        assert_1.default.deepStrictEqual((0, versions_1.parseVersion)('v0.0.0'), v0_0_0);
        assert_1.default.deepStrictEqual((0, versions_1.parseVersion)('v1.0.0'), v1_0_0);
        assert_1.default.deepStrictEqual((0, versions_1.parseVersion)('v1.2.0'), v1_2_0);
        assert_1.default.deepStrictEqual((0, versions_1.parseVersion)('v1.2'), v1_2_0);
        assert_1.default.deepStrictEqual((0, versions_1.parseVersion)('v1.2.3'), v1_2_3);
    });
});
describe('compareVersions()', () => {
    it('should compare equal version', () => {
        assert_1.default.throws(() => (0, versions_1.compareVersions)('', ''));
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.0.0', '1.0.0'), 0);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.2.0', '1.2.0'), 0);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.2.3', '1.2.3'), 0);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('v1.0.0', '1.0.0'), 0);
    });
    it('should compare greater version', () => {
        assert_1.default.throws(() => (0, versions_1.compareVersions)('', ''));
        assert_1.default.strictEqual((0, versions_1.compareVersions)('2.0.0', '1.0.0'), 1);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.1.0', '1.0.0'), 1);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.0.4', '1.0.0'), 1);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('v1.1.0', '1.0.0'), 1);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.1.0', 'v1.0.0'), 1);
    });
    it('should compare smaller version', () => {
        assert_1.default.throws(() => (0, versions_1.compareVersions)('', ''));
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.0.0', '2.0.0'), -1);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.0.0', '1.1.0'), -1);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.0.0', '1.0.4'), -1);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('1.0.0', 'v1.1.0'), -1);
        assert_1.default.strictEqual((0, versions_1.compareVersions)('v1.0.0', '1.1.0'), -1);
    });
});
//# sourceMappingURL=versions.test.js.map