/
comparators.js
129 lines (109 loc) · 3.82 KB
/
comparators.js
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
'use strict';
const MODULE_REQUIRE = 1
/* built-in */
, assert = require('assert')
/* NPM */
/* in-package */
, v2 = require('..')
/* in-file */
, range_covers = (rangeCode, version, expect) => {
assert.equal(new semver.Range(rangeCode).covers(version), expect);
}
;
describe('comparator', () => {
it('lt', () => {
assert(v2.lt('1.0.0', '1.0.1'));
assert(v2.lt('1.0.0', '1.1.0'));
assert(v2.lt('1.0.0', '2.0.0'));
assert(v2.lt('1.0.0', '2'));
assert(v2.lt('1', '2.0.0'));
assert(v2.lt('1', '2'));
assert(!v2.lt('1.0.1', '1.0.0'));
assert(!v2.lt('1.1.0', '1.0.0'));
assert(!v2.lt('2.0.0', '1.0.0'));
assert(!v2.lt('2', '1.0.0'));
assert(!v2.lt('2.0.0', '1'));
assert(!v2.lt('2', '1'));
assert(!v2.lt('1.0.0', '1.0.0'));
assert(!v2.lt('1.0', '1.0.1'));
assert(!v2.lt('1', '1.1.0'));
assert(!v2.lt('1.0.0', '1.0'));
assert(!v2.lt('1.0.0', '1'));
});
it('lte', () => {
assert(v2.lte('1.0.0', '1.0.1'));
assert(v2.lte('1.0.0', '1.1.0'));
assert(v2.lte('1.0.0', '2.0.0'));
assert(v2.lte('1.0.0', '2'));
assert(v2.lte('1', '2.0.0'));
assert(v2.lte('1', '2'));
assert(!v2.lte('1.0.1', '1.0.0'));
assert(!v2.lte('1.1.0', '1.0.0'));
assert(!v2.lte('2.0.0', '1.0.0'));
assert(!v2.lte('2', '1.0.0'));
assert(!v2.lte('2.0.0', '1'));
assert(!v2.lte('2', '1'));
assert(v2.lte('1.0.0', '1.0.0'));
assert(v2.lte('1.0.0', '1.0'));
assert(v2.lte('1.0.0', '1.0.1'));
assert(v2.lte('1.0.0', '1.1.0'));
assert(v2.lte('1.0.0', '1'));
});
it('gt', () => {
assert(!v2.gt('1.0.0', '1.0.1'));
assert(!v2.gt('1.0.0', '1.1.0'));
assert(!v2.gt('1.0.0', '2.0.0'));
assert(!v2.gt('1.0.0', '2'));
assert(!v2.gt('1', '2.0.0'));
assert(!v2.gt('1', '2'));
assert(v2.gt('1.0.1', '1.0.0'));
assert(v2.gt('1.1.0', '1.0.0'));
assert(v2.gt('2.0.0', '1.0.0'));
assert(v2.gt('2', '1.0.0'));
assert(v2.gt('2.0.0', '1'));
assert(v2.gt('2', '1'));
assert(!v2.gt('1.0.0', '1.0.0'));
assert(!v2.gt('1.0', '1.0.1'));
assert(!v2.gt('1', '1.1.0'));
assert(!v2.gt('1.0.1', '1.0'));
assert(!v2.gt('1.1.0', '1'));
});
it('gte', () => {
assert(!v2.gte('1.0.0', '1.0.1'));
assert(!v2.gte('1.0.0', '1.1.0'));
assert(!v2.gte('1.0.0', '2.0.0'));
assert(!v2.gte('1.0.0', '2'));
assert(!v2.gte('1', '2.0.0'));
assert(!v2.gte('1', '2'));
assert(v2.gte('1.0.1', '1.0.0'));
assert(v2.gte('1.1.0', '1.0.0'));
assert(v2.gte('2.0.0', '1.0.0'));
assert(v2.gte('2', '1.0.0'));
assert(v2.gte('2.0.0', '1'));
assert(v2.gte('2', '1'));
assert(v2.gte('1.0.0', '1.0.0'));
assert(v2.gte('1.0.1', '1.0.0'));
assert(v2.gte('1.1.0', '1.0.0'));
assert(v2.gte('1.0.1', '1.0'));
assert(v2.gte('1.1.0', '1'));
});
it('eq', () => {
assert(!v2.eq('1.0.0', '1.0.1'));
assert(!v2.eq('1.0.0', '1.1.0'));
assert(!v2.eq('1.0.0', '2.0.0'));
assert(!v2.eq('1.0.0', '2'));
assert(!v2.eq('1', '2.0.0'));
assert(!v2.eq('1', '2'));
assert(!v2.eq('1.0.1', '1.0.0'));
assert(!v2.eq('1.1.0', '1.0.0'));
assert(!v2.eq('2.0.0', '1.0.0'));
assert(!v2.eq('2', '1.0.0'));
assert(!v2.eq('2.0.0', '1'));
assert(!v2.eq('2', '1'));
assert(v2.eq('1.0.0', '1.0.0'));
assert(v2.eq('1.0', '1.0.1'));
assert(v2.eq('1.0.1', '1.0'));
assert(v2.eq('1.1.0', '1'));
assert(v2.eq('1.1', '1'));
});
});