@@ -5,6 +5,7 @@ import * as assert from 'assert';
5
5
6
6
import { PythonReleaseLevel , PythonVersion } from '../../../../client/pythonEnvironments/base/info' ;
7
7
import {
8
+ compareSemVerLikeVersions ,
8
9
getEmptyVersion ,
9
10
getShortVersionString ,
10
11
parseVersion ,
@@ -171,3 +172,60 @@ suite('pyenvs info - parseVersion', () => {
171
172
} ) ;
172
173
} ) ;
173
174
} ) ;
175
+
176
+ suite ( 'pyenvs info - compareSemVerLikeVersions' , ( ) => {
177
+ const testData = [
178
+ {
179
+ v1 : { major : 2 , minor : 7 , patch : 19 } ,
180
+ v2 : { major : 3 , minor : 7 , patch : 4 } ,
181
+ expected : - 1 ,
182
+ } ,
183
+ {
184
+ v1 : { major : 2 , minor : 7 , patch : 19 } ,
185
+ v2 : { major : 2 , minor : 7 , patch : 19 } ,
186
+ expected : 0 ,
187
+ } ,
188
+ {
189
+ v1 : { major : 3 , minor : 7 , patch : 4 } ,
190
+ v2 : { major : 2 , minor : 7 , patch : 19 } ,
191
+ expected : 1 ,
192
+ } ,
193
+ {
194
+ v1 : { major : 3 , minor : 8 , patch : 1 } ,
195
+ v2 : { major : 3 , minor : 9 , patch : 1 } ,
196
+ expected : - 1 ,
197
+ } ,
198
+ {
199
+ v1 : { major : 3 , minor : 9 , patch : 1 } ,
200
+ v2 : { major : 3 , minor : 9 , patch : 1 } ,
201
+ expected : 0 ,
202
+ } ,
203
+ {
204
+ v1 : { major : 3 , minor : 9 , patch : 1 } ,
205
+ v2 : { major : 3 , minor : 8 , patch : 1 } ,
206
+ expected : 1 ,
207
+ } ,
208
+ {
209
+ v1 : { major : 3 , minor : 9 , patch : 0 } ,
210
+ v2 : { major : 3 , minor : 9 , patch : 1 } ,
211
+ expected : - 1 ,
212
+ } ,
213
+ {
214
+ v1 : { major : 3 , minor : 9 , patch : 1 } ,
215
+ v2 : { major : 3 , minor : 9 , patch : 1 } ,
216
+ expected : 0 ,
217
+ } ,
218
+ {
219
+ v1 : { major : 3 , minor : 9 , patch : 1 } ,
220
+ v2 : { major : 3 , minor : 9 , patch : 0 } ,
221
+ expected : 1 ,
222
+ } ,
223
+ ] ;
224
+
225
+ testData . forEach ( ( data ) => {
226
+ test ( `Compare versions ${ JSON . stringify ( data . v1 ) } and ${ JSON . stringify ( data . v2 ) } ` , ( ) => {
227
+ const actual = compareSemVerLikeVersions ( data . v1 , data . v2 ) ;
228
+ assert . deepStrictEqual ( actual , data . expected ) ;
229
+ } ) ;
230
+ } ) ;
231
+ } ) ;
0 commit comments