@@ -132,41 +132,49 @@ describe('parseVersion', () => {
132
132
} ) ;
133
133
134
134
it ( 'should parse version 7' , ( ) => {
135
+ const result = parseVersion ( 'v1.2.3.4' , { slice : 2 } ) ;
136
+ expect ( result ) . not . toBeUndefined ( ) ;
137
+ expect ( result ?. core ) . toBe ( '1.2' ) ;
138
+ expect ( result ?. preRelease ) . toBe ( undefined ) ;
139
+ expect ( result ?. build ) . toBe ( undefined ) ;
140
+ } ) ;
141
+
142
+ it ( 'should parse version 8' , ( ) => {
135
143
const result = parseVersion ( '1.0.0-rc.1' ) ;
136
144
expect ( result ) . not . toBeUndefined ( ) ;
137
145
expect ( result ?. core ) . toBe ( '1.0.0' ) ;
138
146
expect ( result ?. preRelease ) . toBe ( 'rc.1' ) ;
139
147
expect ( result ?. build ) . toBe ( undefined ) ;
140
148
} ) ;
141
149
142
- it ( 'should parse version 7 ' , ( ) => {
150
+ it ( 'should parse version 9 ' , ( ) => {
143
151
const result = parseVersion ( 'v2.0.0-alpha01' ) ;
144
152
expect ( result ) . not . toBeUndefined ( ) ;
145
153
expect ( result ?. core ) . toBe ( '2.0.0' ) ;
146
154
expect ( result ?. preRelease ) . toBe ( 'alpha01' ) ;
147
155
expect ( result ?. build ) . toBe ( undefined ) ;
148
156
} ) ;
149
157
150
- it ( 'should parse version 7 ' , ( ) => {
158
+ it ( 'should parse version 10 ' , ( ) => {
151
159
const result = parseVersion ( 'v3.0.0+f2eed76' ) ;
152
160
expect ( result ) . not . toBeUndefined ( ) ;
153
161
expect ( result ?. core ) . toBe ( '3.0.0' ) ;
154
162
expect ( result ?. preRelease ) . toBe ( undefined ) ;
155
163
expect ( result ?. build ) . toBe ( 'f2eed76' ) ;
156
164
} ) ;
157
165
158
- it ( 'should parse version 7 ' , ( ) => {
166
+ it ( 'should parse version 11 ' , ( ) => {
159
167
const result = parseVersion ( 'v1.0.0-beta+exp.sha.5114f85' ) ;
160
168
expect ( result ) . not . toBeUndefined ( ) ;
161
169
expect ( result ?. core ) . toBe ( '1.0.0' ) ;
162
170
expect ( result ?. preRelease ) . toBe ( 'beta' ) ;
163
171
expect ( result ?. build ) . toBe ( 'exp.sha.5114f85' ) ;
164
172
} ) ;
165
173
166
- it ( 'should parse version 7 ' , ( ) => {
167
- const result = parseVersion ( 'v1.0.0 -beta+exp.sha.5114f85' ) ;
174
+ it ( 'should parse version 12 ' , ( ) => {
175
+ const result = parseVersion ( 'v1.2.3 -beta+exp.sha.5114f85' , { slice : 4 } ) ;
168
176
expect ( result ) . not . toBeUndefined ( ) ;
169
- expect ( result ?. core ) . toBe ( '1.0 .0' ) ;
177
+ expect ( result ?. core ) . toBe ( '1.2.3 .0' ) ;
170
178
expect ( result ?. preRelease ) . toBe ( 'beta' ) ;
171
179
expect ( result ?. build ) . toBe ( 'exp.sha.5114f85' ) ;
172
180
} ) ;
@@ -183,13 +191,21 @@ describe('normalizeVersion', () => {
183
191
expect ( normalizeVersion ( 'v1.2' ) ) . toBe ( '1.2.0' ) ;
184
192
expect ( normalizeVersion ( 'v1.2.3' ) ) . toBe ( '1.2.3' ) ;
185
193
expect ( normalizeVersion ( 'v1.2.3.4' ) ) . toBe ( '1.2.3' ) ;
194
+ expect ( normalizeVersion ( 'v1.2.3.4' , { length : 5 } ) ) . toBe ( '1.2.3.4.0' ) ;
186
195
expect ( normalizeVersion ( 'v1.2.3.4' , { cut : false } ) ) . toBe ( '1.2.3.4' ) ;
196
+ expect ( normalizeVersion ( 'v1.2.3.4.5.6.7.8.9' , { slice : 2 } ) ) . toBe ( '1.2' ) ;
197
+ expect ( normalizeVersion ( 'v1.2.3.4.5.6.7.8.9' , { slice : - 1 } ) ) . toBe ( '1.2.3.4.5.6.7.8' ) ;
198
+ expect ( normalizeVersion ( 'v1' , { slice : - 1 } ) ) . toBe ( '1.0' ) ;
199
+ expect ( normalizeVersion ( 'v1' , { slice : - 1 , length : 5 } ) ) . toBe ( '1.0.0.0' ) ;
200
+ expect ( normalizeVersion ( 'v1' , { slice : 0 } ) ) . toBe ( '' ) ;
187
201
expect ( normalizeVersion ( '1' , { fill : false } ) ) . toBe ( '1' ) ;
188
202
expect ( normalizeVersion ( '1.0.0.123-rc.1' ) ) . toBe ( '1.0.0-rc.1' ) ;
189
203
expect ( normalizeVersion ( 'v2.0-alpha01' ) ) . toBe ( '2.0.0-alpha01' ) ;
190
204
expect ( normalizeVersion ( 'v3.0.0+f2eed76' ) ) . toBe ( '3.0.0+f2eed76' ) ;
191
205
expect ( normalizeVersion ( 'v1-beta+exp.sha.5114f85' ) ) . toBe ( '1.0.0-beta+exp.sha.5114f85' ) ;
192
206
expect ( normalizeVersion ( 'v1-beta+exp.sha.5114f85' , { onlyCore : true } ) ) . toBe ( '1.0.0' ) ;
207
+ expect ( normalizeVersion ( 'v1-beta+exp.sha.5114f85' , { slice : 2 } ) ) . toBe ( '1.0-beta+exp.sha.5114f85' ) ;
208
+ expect ( normalizeVersion ( 'v1-beta+exp.sha.5114f85' , { slice : 2 , onlyCore : true } ) ) . toBe ( '1.0' ) ;
193
209
} ) ;
194
210
195
211
it ( 'should return undefined' , ( ) => {
0 commit comments