@@ -252,158 +252,6 @@ func TestDeriveNext(t *testing.T) {
252252 }
253253}
254254
255- func TestCompare (t * testing.T ) {
256- for _ , test := range []struct {
257- name string
258- versionA string
259- versionB string
260- want int
261- }{
262- {
263- name : "equal" ,
264- versionA : "1.2.3" ,
265- versionB : "1.2.3" ,
266- want : 0 ,
267- },
268- {
269- name : "equal with pre-release" ,
270- versionA : "1.2.3-alpha" ,
271- versionB : "1.2.3-alpha" ,
272- want : 0 ,
273- },
274- {
275- name : "equal with pre-release and number" ,
276- versionA : "1.2.3-alpha4" ,
277- versionB : "1.2.3-alpha4" ,
278- want : 0 ,
279- },
280- {
281- name : "equal with pre-release and number, different separator" ,
282- versionA : "1.2.3-alpha4" ,
283- versionB : "1.2.3-alpha.4" ,
284- want : 0 ,
285- },
286- {
287- name : "less than patch" ,
288- versionA : "1.2.3" ,
289- versionB : "1.2.4" ,
290- want : - 1 ,
291- },
292- {
293- name : "less than minor" ,
294- versionA : "1.2.3" ,
295- versionB : "1.3.0" ,
296- want : - 1 ,
297- },
298- {
299- name : "less than major" ,
300- versionA : "1.2.3" ,
301- versionB : "2.0.0" ,
302- want : - 1 ,
303- },
304- {
305- name : "less than prerelease" ,
306- versionA : "1.2.3-alpha" ,
307- versionB : "1.2.3-beta" ,
308- want : - 1 ,
309- },
310- {
311- name : "less than prerelease number" ,
312- versionA : "1.2.3-alpha1" ,
313- versionB : "1.2.3-alpha2" ,
314- want : - 1 ,
315- },
316- {
317- name : "less than prerelease number with separator" ,
318- versionA : "1.2.3-alpha.1" ,
319- versionB : "1.2.3-alpha.2" ,
320- want : - 1 ,
321- },
322- {
323- name : "less than prerelease against stable" ,
324- versionA : "1.2.3-alpha1" ,
325- versionB : "1.2.3" ,
326- want : - 1 ,
327- },
328- {
329- name : "less than prerelease without number" ,
330- versionA : "1.2.3-alpha" ,
331- versionB : "1.2.3-alpha1" ,
332- want : - 1 ,
333- },
334- {
335- name : "greater than patch" ,
336- versionA : "1.2.4" ,
337- versionB : "1.2.3" ,
338- want : 1 ,
339- },
340- {
341- name : "greater than minor" ,
342- versionA : "1.3.0" ,
343- versionB : "1.2.3" ,
344- want : 1 ,
345- },
346- {
347- name : "greater than major" ,
348- versionA : "2.0.0" ,
349- versionB : "1.2.3" ,
350- want : 1 ,
351- },
352- {
353- name : "greater than prerelease" ,
354- versionA : "1.2.3-beta" ,
355- versionB : "1.2.3-alpha" ,
356- want : 1 ,
357- },
358- {
359- name : "greater than prerelease number" ,
360- versionA : "1.2.3-alpha2" ,
361- versionB : "1.2.3-alpha1" ,
362- want : 1 ,
363- },
364- {
365- name : "greater than prerelease number with separator" ,
366- versionA : "1.2.3-alpha.2" ,
367- versionB : "1.2.3-alpha.1" ,
368- want : 1 ,
369- },
370- {
371- name : "greater than prerelease against stable" ,
372- versionA : "1.2.3" ,
373- versionB : "1.2.3-alpha1" ,
374- want : 1 ,
375- },
376- {
377- name : "greater than prerelease without number" ,
378- versionA : "1.2.3-alpha1" ,
379- versionB : "1.2.3-alpha" ,
380- want : 1 ,
381- },
382- {
383- // Note: This is SemVer compliant, but may seem odd in practice.
384- name : "greater prerelease version core than non-prerelease version core" ,
385- versionA : "1.2.3-alpha1" ,
386- versionB : "1.2.0" ,
387- want : 1 ,
388- },
389- } {
390- t .Run (test .name , func (t * testing.T ) {
391- a , err := Parse (test .versionA )
392- if err != nil {
393- t .Fatalf ("Parse() returned an error: %v" , err )
394- }
395- b , err := Parse (test .versionB )
396- if err != nil {
397- t .Fatalf ("Parse() returned an error: %v" , err )
398- }
399- got := a .Compare (b )
400- if diff := cmp .Diff (test .want , got ); diff != "" {
401- t .Errorf ("mismatch (-want +got):\n %s" , diff )
402- }
403- })
404- }
405- }
406-
407255func TestMaxVersion (t * testing.T ) {
408256 for _ , test := range []struct {
409257 name string
0 commit comments