@@ -5,52 +5,60 @@ const comparisons = require('../fixtures/comparisons.js')
5
5
const equality = require ( '../fixtures/equality.js' )
6
6
const invalidVersions = require ( '../fixtures/invalid-versions' )
7
7
8
- test ( 'comparisons' , t => {
8
+ test ( 'comparisons' , ( t ) => {
9
9
t . plan ( comparisons . length )
10
- comparisons . forEach ( ( [ v0 , v1 , opt ] ) => t . test ( `${ v0 } ${ v1 } ` , t => {
11
- const s0 = new SemVer ( v0 , opt )
12
- const s1 = new SemVer ( v1 , opt )
13
- t . equal ( s0 . compare ( s1 ) , 1 )
14
- t . equal ( s0 . compare ( v1 ) , 1 )
15
- t . equal ( s1 . compare ( s0 ) , - 1 )
16
- t . equal ( s1 . compare ( v0 ) , - 1 )
17
- t . equal ( s0 . compare ( v0 ) , 0 )
18
- t . equal ( s1 . compare ( v1 ) , 0 )
19
- t . end ( )
20
- } ) )
10
+ comparisons . forEach ( ( [ v0 , v1 , opt ] ) =>
11
+ t . test ( `${ v0 } ${ v1 } ` , ( t ) => {
12
+ const s0 = new SemVer ( v0 , opt )
13
+ const s1 = new SemVer ( v1 , opt )
14
+ t . equal ( s0 . compare ( s1 ) , 1 )
15
+ t . equal ( s0 . compare ( v1 ) , 1 )
16
+ t . equal ( s1 . compare ( s0 ) , - 1 )
17
+ t . equal ( s1 . compare ( v0 ) , - 1 )
18
+ t . equal ( s0 . compare ( v0 ) , 0 )
19
+ t . equal ( s1 . compare ( v1 ) , 0 )
20
+ t . end ( )
21
+ } )
22
+ )
21
23
} )
22
24
23
- test ( 'equality' , t => {
25
+ test ( 'equality' , ( t ) => {
24
26
t . plan ( equality . length )
25
- equality . forEach ( ( [ v0 , v1 , loose ] ) => t . test ( `${ v0 } ${ v1 } ${ loose } ` , t => {
26
- const s0 = new SemVer ( v0 , loose )
27
- const s1 = new SemVer ( v1 , loose )
28
- t . equal ( s0 . compare ( s1 ) , 0 )
29
- t . equal ( s1 . compare ( s0 ) , 0 )
30
- t . equal ( s0 . compare ( v1 ) , 0 )
31
- t . equal ( s1 . compare ( v0 ) , 0 )
32
- t . equal ( s0 . compare ( s0 ) , 0 )
33
- t . equal ( s1 . compare ( s1 ) , 0 )
34
- t . equal ( s0 . comparePre ( s1 ) , 0 , 'comparePre just to hit that code path' )
35
- t . end ( )
36
- } ) )
27
+ equality . forEach ( ( [ v0 , v1 , loose ] ) =>
28
+ t . test ( `${ v0 } ${ v1 } ${ loose } ` , ( t ) => {
29
+ const s0 = new SemVer ( v0 , loose )
30
+ const s1 = new SemVer ( v1 , loose )
31
+ t . equal ( s0 . compare ( s1 ) , 0 )
32
+ t . equal ( s1 . compare ( s0 ) , 0 )
33
+ t . equal ( s0 . compare ( v1 ) , 0 )
34
+ t . equal ( s1 . compare ( v0 ) , 0 )
35
+ t . equal ( s0 . compare ( s0 ) , 0 )
36
+ t . equal ( s1 . compare ( s1 ) , 0 )
37
+ t . equal ( s0 . comparePre ( s1 ) , 0 , 'comparePre just to hit that code path' )
38
+ t . end ( )
39
+ } )
40
+ )
37
41
} )
38
42
39
- test ( 'toString equals parsed version' , t => {
43
+ test ( 'toString equals parsed version' , ( t ) => {
40
44
t . equal ( String ( new SemVer ( 'v1.2.3' ) ) , '1.2.3' )
41
45
t . end ( )
42
46
} )
43
47
44
- test ( 'throws when presented with garbage' , t => {
48
+ test ( 'throws when presented with garbage' , ( t ) => {
45
49
t . plan ( invalidVersions . length )
46
50
invalidVersions . forEach ( ( [ v , msg , opts ] ) =>
47
- t . throws ( ( ) => new SemVer ( v , opts ) , msg ) )
51
+ t . throws ( ( ) => new SemVer ( v , opts ) , msg )
52
+ )
48
53
} )
49
54
50
- test ( 'return SemVer arg to ctor if options match' , t => {
55
+ test ( 'return SemVer arg to ctor if options match' , ( t ) => {
51
56
const s = new SemVer ( '1.2.3' , { loose : true , includePrerelease : true } )
52
- t . equal ( new SemVer ( s , { loose : true , includePrerelease : true } ) , s ,
53
- 'get same object when options match' )
57
+ t . equal (
58
+ new SemVer ( s , { loose : true , includePrerelease : true } ) ,
59
+ s ,
60
+ 'get same object when options match'
61
+ )
54
62
t . not ( new SemVer ( s ) , s , 'get new object when options match' )
55
63
t . end ( )
56
64
} )
@@ -62,37 +70,39 @@ test('really big numeric prerelease value', (t) => {
62
70
} )
63
71
64
72
test ( 'invalid version numbers' , ( t ) => {
65
- [ '1.2.3.4' ,
66
- 'NOT VALID' ,
67
- 1.2 ,
68
- null ,
69
- 'Infinity.NaN.Infinity' ,
70
- ] . forEach ( ( v ) => {
71
- t . throws ( ( ) => {
72
- new SemVer ( v ) // eslint-disable-line no-new
73
- } , { name : 'TypeError' , message : `Invalid Version: ${ v } ` } )
73
+ [ '1.2.3.4' , 'NOT VALID' , 1.2 , null , 'Infinity.NaN.Infinity' ] . forEach ( ( v ) => {
74
+ t . throws (
75
+ ( ) => {
76
+ new SemVer ( v ) // eslint-disable-line no-new
77
+ } ,
78
+ {
79
+ name : 'TypeError' ,
80
+ message :
81
+ typeof v === 'string'
82
+ ? `Invalid Version: ${ v } `
83
+ : `Invalid version. Must be a string. Got type "${ typeof v } ".` ,
84
+ }
85
+ )
74
86
} )
75
87
76
88
t . end ( )
77
89
} )
78
90
79
- test ( 'incrementing' , t => {
91
+ test ( 'incrementing' , ( t ) => {
80
92
t . plan ( increments . length )
81
- increments . forEach ( ( [
82
- version ,
83
- inc ,
84
- expect ,
85
- options ,
86
- id ,
87
- base ,
88
- ] ) => t . test ( `${ version } ${ inc } ${ id || '' } ` . trim ( ) , t => {
89
- t . plan ( 1 )
90
- if ( expect === null ) {
91
- t . throws ( ( ) => new SemVer ( version , options ) . inc ( inc , id , base ) )
92
- } else {
93
- t . equal ( new SemVer ( version , options ) . inc ( inc , id , base ) . version , expect )
94
- }
95
- } ) )
93
+ increments . forEach ( ( [ version , inc , expect , options , id , base ] ) =>
94
+ t . test ( `${ version } ${ inc } ${ id || '' } ` . trim ( ) , ( t ) => {
95
+ t . plan ( 1 )
96
+ if ( expect === null ) {
97
+ t . throws ( ( ) => new SemVer ( version , options ) . inc ( inc , id , base ) )
98
+ } else {
99
+ t . equal (
100
+ new SemVer ( version , options ) . inc ( inc , id , base ) . version ,
101
+ expect
102
+ )
103
+ }
104
+ } )
105
+ )
96
106
} )
97
107
98
108
test ( 'compare main vs pre' , ( t ) => {
@@ -113,15 +123,19 @@ test('compare main vs pre', (t) => {
113
123
} )
114
124
115
125
test ( 'invalid version numbers' , ( t ) => {
116
- [ '1.2.3.4' ,
117
- 'NOT VALID' ,
118
- 1.2 ,
119
- null ,
120
- 'Infinity.NaN.Infinity' ,
121
- ] . forEach ( ( v ) => {
122
- t . throws ( ( ) => {
123
- new SemVer ( v ) // eslint-disable-line no-new
124
- } , { name : 'TypeError' , message : `Invalid Version: ${ v } ` } )
126
+ [ '1.2.3.4' , 'NOT VALID' , 1.2 , null , 'Infinity.NaN.Infinity' ] . forEach ( ( v ) => {
127
+ t . throws (
128
+ ( ) => {
129
+ new SemVer ( v ) // eslint-disable-line no-new
130
+ } ,
131
+ {
132
+ name : 'TypeError' ,
133
+ message :
134
+ typeof v === 'string'
135
+ ? `Invalid Version: ${ v } `
136
+ : `Invalid version. Must be a string. Got type "${ typeof v } ".` ,
137
+ }
138
+ )
125
139
} )
126
140
127
141
t . end ( )
0 commit comments