semver 3.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/test/index.js CHANGED
@@ -132,6 +132,15 @@ test('\nrange tests', function(t) {
132
132
  // [range, version]
133
133
  // version should be included by range
134
134
  [['1.0.0 - 2.0.0', '1.2.3'],
135
+ ['^1.2.3+build', '1.2.3'],
136
+ ['^1.2.3+build', '1.3.0'],
137
+ ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3'],
138
+ ['1.2.3pre+asdf - 2.4.3-pre+asdf', '1.2.3', true],
139
+ ['1.2.3-pre+asdf - 2.4.3pre+asdf', '1.2.3', true],
140
+ ['1.2.3pre+asdf - 2.4.3pre+asdf', '1.2.3', true],
141
+ ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '1.2.3-pre.2'],
142
+ ['1.2.3-pre+asdf - 2.4.3-pre+asdf', '2.4.3-alpha'],
143
+ ['1.2.3+asdf - 2.4.3+asdf', '1.2.3'],
135
144
  ['1.0.0', '1.0.0'],
136
145
  ['>=*', '0.2.4'],
137
146
  ['', '1.0.0'],
@@ -189,13 +198,11 @@ test('\nrange tests', function(t) {
189
198
  ['>= 1', '1.0.0'],
190
199
  ['<1.2', '1.1.1'],
191
200
  ['< 1.2', '1.1.1'],
192
- ['1', '1.0.0beta', true],
193
201
  ['~v0.5.4-pre', '0.5.5'],
194
202
  ['~v0.5.4-pre', '0.5.4'],
195
203
  ['=0.7.x', '0.7.2'],
204
+ ['<=0.7.x', '0.7.2'],
196
205
  ['>=0.7.x', '0.7.2'],
197
- ['=0.7.x', '0.7.0-asdf'],
198
- ['>=0.7.x', '0.7.0-asdf'],
199
206
  ['<=0.7.x', '0.6.2'],
200
207
  ['~1.2.1 >=1.2.3', '1.2.3'],
201
208
  ['~1.2.1 =1.2.3', '1.2.3'],
@@ -207,17 +214,15 @@ test('\nrange tests', function(t) {
207
214
  ['1.2.3 >=1.2.1', '1.2.3'],
208
215
  ['>=1.2.3 >=1.2.1', '1.2.3'],
209
216
  ['>=1.2.1 >=1.2.3', '1.2.3'],
210
- ['<=1.2.3', '1.2.3-beta'],
211
- ['>1.2', '1.3.0-beta'],
212
217
  ['>=1.2', '1.2.8'],
213
218
  ['^1.2.3', '1.8.1'],
214
- ['^1.2.3', '1.2.3-beta'],
215
219
  ['^0.1.2', '0.1.2'],
216
220
  ['^0.1', '0.1.2'],
217
221
  ['^1.2', '1.4.2'],
218
222
  ['^1.2 ^1', '1.4.2'],
219
- ['^1.2', '1.2.0-pre'],
220
- ['^1.2.3', '1.2.3-pre']
223
+ ['^1.2.3-alpha', '1.2.3-pre'],
224
+ ['^1.2.0-alpha', '1.2.0-pre'],
225
+ ['^0.0.1-alpha', '0.0.1-beta']
221
226
  ].forEach(function(v) {
222
227
  var range = v[0];
223
228
  var ver = v[1];
@@ -231,6 +236,20 @@ test('\nnegative range tests', function(t) {
231
236
  // [range, version]
232
237
  // version should not be included by range
233
238
  [['1.0.0 - 2.0.0', '2.2.3'],
239
+ ['1.2.3+asdf - 2.4.3+asdf', '1.2.3-pre.2'],
240
+ ['1.2.3+asdf - 2.4.3+asdf', '2.4.3-alpha'],
241
+ ['^1.2.3+build', '2.0.0'],
242
+ ['^1.2.3+build', '1.2.0'],
243
+ ['^1.2.3', '1.2.3-pre'],
244
+ ['^1.2', '1.2.0-pre'],
245
+ ['>1.2', '1.3.0-beta'],
246
+ ['<=1.2.3', '1.2.3-beta'],
247
+ ['^1.2.3', '1.2.3-beta'],
248
+ ['=0.7.x', '0.7.0-asdf'],
249
+ ['>=0.7.x', '0.7.0-asdf'],
250
+ ['1', '1.0.0beta', true],
251
+ ['<1', '1.0.0beta', true],
252
+ ['< 1', '1.0.0beta', true],
234
253
  ['1.0.0', '1.0.1'],
235
254
  ['>=1.0.0', '0.0.0'],
236
255
  ['>=1.0.0', '0.0.1'],
@@ -270,11 +289,9 @@ test('\nnegative range tests', function(t) {
270
289
  ['>=1.2', '1.1.1'],
271
290
  ['1', '2.0.0beta', true],
272
291
  ['~v0.5.4-beta', '0.5.4-alpha'],
273
- ['<1', '1.0.0beta', true],
274
- ['< 1', '1.0.0beta', true],
275
292
  ['=0.7.x', '0.8.2'],
276
293
  ['>=0.7.x', '0.6.2'],
277
- ['<=0.7.x', '0.7.2'],
294
+ ['<0.7.x', '0.7.2'],
278
295
  ['<1.2.3', '1.2.3-beta'],
279
296
  ['=1.2.3', '1.2.3-beta'],
280
297
  ['>1.2', '1.2.8'],
@@ -296,8 +313,8 @@ test('\nnegative range tests', function(t) {
296
313
  });
297
314
 
298
315
  test('\nincrement versions test', function(t) {
299
- // [version, inc, result]
300
- // inc(version, inc) -> result
316
+ // [version, inc, result, identifier]
317
+ // inc(version, inc) -> result
301
318
  [['1.2.3', 'major', '2.0.0'],
302
319
  ['1.2.3', 'minor', '1.3.0'],
303
320
  ['1.2.3', 'patch', '1.2.4'],
@@ -332,18 +349,63 @@ test('\nincrement versions test', function(t) {
332
349
  ['1.2.0', 'prepatch', '1.2.1-0'],
333
350
  ['1.2.0-1', 'prepatch', '1.2.1-0'],
334
351
  ['1.2.0', 'preminor', '1.3.0-0'],
335
- ['1.2.0-1', 'preminor', '1.3.0-0'],
352
+ ['1.2.3-1', 'preminor', '1.3.0-0'],
336
353
  ['1.2.0', 'premajor', '2.0.0-0'],
337
- ['1.2.0-1', 'premajor', '2.0.0-0']
354
+ ['1.2.3-1', 'premajor', '2.0.0-0'],
355
+ ['1.2.0-1', 'minor', '1.2.0'],
356
+ ['1.0.0-1', 'major', '1.0.0'],
338
357
 
358
+ ['1.2.3', 'major', '2.0.0', false, 'dev'],
359
+ ['1.2.3', 'minor', '1.3.0', false, 'dev'],
360
+ ['1.2.3', 'patch', '1.2.4', false, 'dev'],
361
+ ['1.2.3tag', 'major', '2.0.0', true, 'dev'],
362
+ ['1.2.3-tag', 'major', '2.0.0', false, 'dev'],
363
+ ['1.2.3', 'fake', null, false, 'dev'],
364
+ ['1.2.0-0', 'patch', '1.2.0', false, 'dev'],
365
+ ['fake', 'major', null, false, 'dev'],
366
+ ['1.2.3-4', 'major', '2.0.0', false, 'dev'],
367
+ ['1.2.3-4', 'minor', '1.3.0', false, 'dev'],
368
+ ['1.2.3-4', 'patch', '1.2.3', false, 'dev'],
369
+ ['1.2.3-alpha.0.beta', 'major', '2.0.0', false, 'dev'],
370
+ ['1.2.3-alpha.0.beta', 'minor', '1.3.0', false, 'dev'],
371
+ ['1.2.3-alpha.0.beta', 'patch', '1.2.3', false, 'dev'],
372
+ ['1.2.4', 'prerelease', '1.2.5-dev.0', false, 'dev'],
373
+ ['1.2.3-0', 'prerelease', '1.2.3-dev.0', false, 'dev'],
374
+ ['1.2.3-alpha.0', 'prerelease', '1.2.3-dev.0', false, 'dev'],
375
+ ['1.2.3-alpha.0', 'prerelease', '1.2.3-alpha.1', false, 'alpha'],
376
+ ['1.2.3-alpha.0.beta', 'prerelease', '1.2.3-dev.0', false, 'dev'],
377
+ ['1.2.3-alpha.0.beta', 'prerelease', '1.2.3-alpha.1.beta', false, 'alpha'],
378
+ ['1.2.3-alpha.10.0.beta', 'prerelease', '1.2.3-dev.0', false, 'dev'],
379
+ ['1.2.3-alpha.10.0.beta', 'prerelease', '1.2.3-alpha.10.1.beta', false, 'alpha'],
380
+ ['1.2.3-alpha.10.1.beta', 'prerelease', '1.2.3-alpha.10.2.beta', false, 'alpha'],
381
+ ['1.2.3-alpha.10.2.beta', 'prerelease', '1.2.3-alpha.10.3.beta', false, 'alpha'],
382
+ ['1.2.3-alpha.10.beta.0', 'prerelease', '1.2.3-dev.0', false, 'dev'],
383
+ ['1.2.3-alpha.10.beta.0', 'prerelease', '1.2.3-alpha.10.beta.1', false, 'alpha'],
384
+ ['1.2.3-alpha.10.beta.1', 'prerelease', '1.2.3-alpha.10.beta.2', false, 'alpha'],
385
+ ['1.2.3-alpha.10.beta.2', 'prerelease', '1.2.3-alpha.10.beta.3', false, 'alpha'],
386
+ ['1.2.3-alpha.9.beta', 'prerelease', '1.2.3-dev.0', false, 'dev'],
387
+ ['1.2.3-alpha.9.beta', 'prerelease', '1.2.3-alpha.10.beta', false, 'alpha'],
388
+ ['1.2.3-alpha.10.beta', 'prerelease', '1.2.3-alpha.11.beta', false, 'alpha'],
389
+ ['1.2.3-alpha.11.beta', 'prerelease', '1.2.3-alpha.12.beta', false, 'alpha'],
390
+ ['1.2.0', 'prepatch', '1.2.1-dev.0', 'dev'],
391
+ ['1.2.0-1', 'prepatch', '1.2.1-dev.0', 'dev'],
392
+ ['1.2.0', 'preminor', '1.3.0-dev.0', 'dev'],
393
+ ['1.2.3-1', 'preminor', '1.3.0-dev.0', 'dev'],
394
+ ['1.2.0', 'premajor', '2.0.0-dev.0', 'dev'],
395
+ ['1.2.3-1', 'premajor', '2.0.0-dev.0', 'dev'],
396
+ ['1.2.0-1', 'minor', '1.2.0', 'dev'],
397
+ ['1.0.0-1', 'major', '1.0.0', 'dev'],
398
+ ['1.2.3-dev.bar', 'prerelease', '1.2.3-dev.0', false, 'dev']
339
399
 
340
400
  ].forEach(function(v) {
341
401
  var pre = v[0];
342
402
  var what = v[1];
343
403
  var wanted = v[2];
344
404
  var loose = v[3];
345
- var found = inc(pre, what, loose);
346
- t.equal(found, wanted, 'inc(' + pre + ', ' + what + ') === ' + wanted);
405
+ var id = v[4];
406
+ var found = inc(pre, what, loose, id);
407
+ var cmd = 'inc(' + pre + ', ' + what + ', ' + id + ')';
408
+ t.equal(found, wanted, cmd + ' === ' + wanted);
347
409
  });
348
410
 
349
411
  t.end();
@@ -355,18 +417,18 @@ test('\nvalid range test', function(t) {
355
417
  // translate ranges into their canonical form
356
418
  [['1.0.0 - 2.0.0', '>=1.0.0 <=2.0.0'],
357
419
  ['1.0.0', '1.0.0'],
358
- ['>=*', '>=0.0.0-0'],
420
+ ['>=*', '*'],
359
421
  ['', '*'],
360
422
  ['*', '*'],
361
423
  ['*', '*'],
362
424
  ['>=1.0.0', '>=1.0.0'],
363
425
  ['>1.0.0', '>1.0.0'],
364
426
  ['<=2.0.0', '<=2.0.0'],
365
- ['1', '>=1.0.0-0 <2.0.0-0'],
427
+ ['1', '>=1.0.0 <2.0.0'],
366
428
  ['<=2.0.0', '<=2.0.0'],
367
429
  ['<=2.0.0', '<=2.0.0'],
368
- ['<2.0.0', '<2.0.0-0'],
369
- ['<2.0.0', '<2.0.0-0'],
430
+ ['<2.0.0', '<2.0.0'],
431
+ ['<2.0.0', '<2.0.0'],
370
432
  ['>= 1.0.0', '>=1.0.0'],
371
433
  ['>= 1.0.0', '>=1.0.0'],
372
434
  ['>= 1.0.0', '>=1.0.0'],
@@ -375,56 +437,56 @@ test('\nvalid range test', function(t) {
375
437
  ['<= 2.0.0', '<=2.0.0'],
376
438
  ['<= 2.0.0', '<=2.0.0'],
377
439
  ['<= 2.0.0', '<=2.0.0'],
378
- ['< 2.0.0', '<2.0.0-0'],
379
- ['< 2.0.0', '<2.0.0-0'],
440
+ ['< 2.0.0', '<2.0.0'],
441
+ ['< 2.0.0', '<2.0.0'],
380
442
  ['>=0.1.97', '>=0.1.97'],
381
443
  ['>=0.1.97', '>=0.1.97'],
382
444
  ['0.1.20 || 1.2.4', '0.1.20||1.2.4'],
383
- ['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1-0'],
384
- ['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1-0'],
385
- ['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1-0'],
445
+ ['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1'],
446
+ ['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1'],
447
+ ['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1'],
386
448
  ['||', '||'],
387
- ['2.x.x', '>=2.0.0-0 <3.0.0-0'],
388
- ['1.2.x', '>=1.2.0-0 <1.3.0-0'],
389
- ['1.2.x || 2.x', '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'],
390
- ['1.2.x || 2.x', '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'],
449
+ ['2.x.x', '>=2.0.0 <3.0.0'],
450
+ ['1.2.x', '>=1.2.0 <1.3.0'],
451
+ ['1.2.x || 2.x', '>=1.2.0 <1.3.0||>=2.0.0 <3.0.0'],
452
+ ['1.2.x || 2.x', '>=1.2.0 <1.3.0||>=2.0.0 <3.0.0'],
391
453
  ['x', '*'],
392
- ['2.*.*', '>=2.0.0-0 <3.0.0-0'],
393
- ['1.2.*', '>=1.2.0-0 <1.3.0-0'],
394
- ['1.2.* || 2.*', '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'],
454
+ ['2.*.*', '>=2.0.0 <3.0.0'],
455
+ ['1.2.*', '>=1.2.0 <1.3.0'],
456
+ ['1.2.* || 2.*', '>=1.2.0 <1.3.0||>=2.0.0 <3.0.0'],
395
457
  ['*', '*'],
396
- ['2', '>=2.0.0-0 <3.0.0-0'],
397
- ['2.3', '>=2.3.0-0 <2.4.0-0'],
398
- ['~2.4', '>=2.4.0-0 <2.5.0-0'],
399
- ['~2.4', '>=2.4.0-0 <2.5.0-0'],
400
- ['~>3.2.1', '>=3.2.1-0 <3.3.0-0'],
401
- ['~1', '>=1.0.0-0 <2.0.0-0'],
402
- ['~>1', '>=1.0.0-0 <2.0.0-0'],
403
- ['~> 1', '>=1.0.0-0 <2.0.0-0'],
404
- ['~1.0', '>=1.0.0-0 <1.1.0-0'],
405
- ['~ 1.0', '>=1.0.0-0 <1.1.0-0'],
406
- ['^0', '>=0.0.0-0 <1.0.0-0'],
407
- ['^ 1', '>=1.0.0-0 <2.0.0-0'],
408
- ['^0.1', '>=0.1.0-0 <0.2.0-0'],
409
- ['^1.0', '>=1.0.0-0 <2.0.0-0'],
410
- ['^1.2', '>=1.2.0-0 <2.0.0-0'],
411
- ['^0.0.1', '0.0.1'],
412
- ['^0.0.1-beta', '0.0.1-beta'],
413
- ['^0.1.2', '0.1.2'],
414
- ['^1.2.3', '>=1.2.3-0 <2.0.0-0'],
415
- ['^1.2.3-beta.4', '>=1.2.3-beta.4 <2.0.0-0'],
416
- ['<1', '<1.0.0-0'],
417
- ['< 1', '<1.0.0-0'],
418
- ['>=1', '>=1.0.0-0'],
419
- ['>= 1', '>=1.0.0-0'],
420
- ['<1.2', '<1.2.0-0'],
421
- ['< 1.2', '<1.2.0-0'],
422
- ['1', '>=1.0.0-0 <2.0.0-0'],
458
+ ['2', '>=2.0.0 <3.0.0'],
459
+ ['2.3', '>=2.3.0 <2.4.0'],
460
+ ['~2.4', '>=2.4.0 <2.5.0'],
461
+ ['~2.4', '>=2.4.0 <2.5.0'],
462
+ ['~>3.2.1', '>=3.2.1 <3.3.0'],
463
+ ['~1', '>=1.0.0 <2.0.0'],
464
+ ['~>1', '>=1.0.0 <2.0.0'],
465
+ ['~> 1', '>=1.0.0 <2.0.0'],
466
+ ['~1.0', '>=1.0.0 <1.1.0'],
467
+ ['~ 1.0', '>=1.0.0 <1.1.0'],
468
+ ['^0', '>=0.0.0 <1.0.0'],
469
+ ['^ 1', '>=1.0.0 <2.0.0'],
470
+ ['^0.1', '>=0.1.0 <0.2.0'],
471
+ ['^1.0', '>=1.0.0 <2.0.0'],
472
+ ['^1.2', '>=1.2.0 <2.0.0'],
473
+ ['^0.0.1', '>=0.0.1 <0.0.2'],
474
+ ['^0.0.1-beta', '>=0.0.1-beta <0.0.2'],
475
+ ['^0.1.2', '>=0.1.2 <0.2.0'],
476
+ ['^1.2.3', '>=1.2.3 <2.0.0'],
477
+ ['^1.2.3-beta.4', '>=1.2.3-beta.4 <2.0.0'],
478
+ ['<1', '<1.0.0'],
479
+ ['< 1', '<1.0.0'],
480
+ ['>=1', '>=1.0.0'],
481
+ ['>= 1', '>=1.0.0'],
482
+ ['<1.2', '<1.2.0'],
483
+ ['< 1.2', '<1.2.0'],
484
+ ['1', '>=1.0.0 <2.0.0'],
423
485
  ['>01.02.03', '>1.2.3', true],
424
486
  ['>01.02.03', null],
425
- ['~1.2.3beta', '>=1.2.3-beta <1.3.0-0', true],
487
+ ['~1.2.3beta', '>=1.2.3-beta <1.3.0', true],
426
488
  ['~1.2.3beta', null],
427
- ['^ 1.2 ^ 1', '>=1.2.0-0 <2.0.0-0 >=1.0.0-0 <2.0.0-0']
489
+ ['^ 1.2 ^ 1', '>=1.2.0 <2.0.0 >=1.0.0 <2.0.0']
428
490
  ].forEach(function(v) {
429
491
  var pre = v[0];
430
492
  var wanted = v[1];
@@ -442,7 +504,7 @@ test('\ncomparators test', function(t) {
442
504
  // turn range into a set of individual comparators
443
505
  [['1.0.0 - 2.0.0', [['>=1.0.0', '<=2.0.0']]],
444
506
  ['1.0.0', [['1.0.0']]],
445
- ['>=*', [['>=0.0.0-0']]],
507
+ ['>=*', [['']]],
446
508
  ['', [['']]],
447
509
  ['*', [['']]],
448
510
  ['*', [['']]],
@@ -452,11 +514,11 @@ test('\ncomparators test', function(t) {
452
514
  ['>1.0.0', [['>1.0.0']]],
453
515
  ['>1.0.0', [['>1.0.0']]],
454
516
  ['<=2.0.0', [['<=2.0.0']]],
455
- ['1', [['>=1.0.0-0', '<2.0.0-0']]],
517
+ ['1', [['>=1.0.0', '<2.0.0']]],
456
518
  ['<=2.0.0', [['<=2.0.0']]],
457
519
  ['<=2.0.0', [['<=2.0.0']]],
458
- ['<2.0.0', [['<2.0.0-0']]],
459
- ['<2.0.0', [['<2.0.0-0']]],
520
+ ['<2.0.0', [['<2.0.0']]],
521
+ ['<2.0.0', [['<2.0.0']]],
460
522
  ['>= 1.0.0', [['>=1.0.0']]],
461
523
  ['>= 1.0.0', [['>=1.0.0']]],
462
524
  ['>= 1.0.0', [['>=1.0.0']]],
@@ -465,47 +527,50 @@ test('\ncomparators test', function(t) {
465
527
  ['<= 2.0.0', [['<=2.0.0']]],
466
528
  ['<= 2.0.0', [['<=2.0.0']]],
467
529
  ['<= 2.0.0', [['<=2.0.0']]],
468
- ['< 2.0.0', [['<2.0.0-0']]],
469
- ['<\t2.0.0', [['<2.0.0-0']]],
530
+ ['< 2.0.0', [['<2.0.0']]],
531
+ ['<\t2.0.0', [['<2.0.0']]],
470
532
  ['>=0.1.97', [['>=0.1.97']]],
471
533
  ['>=0.1.97', [['>=0.1.97']]],
472
534
  ['0.1.20 || 1.2.4', [['0.1.20'], ['1.2.4']]],
473
- ['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1-0']]],
474
- ['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1-0']]],
475
- ['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1-0']]],
535
+ ['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1']]],
536
+ ['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1']]],
537
+ ['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1']]],
476
538
  ['||', [[''], ['']]],
477
- ['2.x.x', [['>=2.0.0-0', '<3.0.0-0']]],
478
- ['1.2.x', [['>=1.2.0-0', '<1.3.0-0']]],
479
- ['1.2.x || 2.x', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
480
- ['1.2.x || 2.x', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
539
+ ['2.x.x', [['>=2.0.0', '<3.0.0']]],
540
+ ['1.2.x', [['>=1.2.0', '<1.3.0']]],
541
+ ['1.2.x || 2.x', [['>=1.2.0', '<1.3.0'], ['>=2.0.0', '<3.0.0']]],
542
+ ['1.2.x || 2.x', [['>=1.2.0', '<1.3.0'], ['>=2.0.0', '<3.0.0']]],
481
543
  ['x', [['']]],
482
- ['2.*.*', [['>=2.0.0-0', '<3.0.0-0']]],
483
- ['1.2.*', [['>=1.2.0-0', '<1.3.0-0']]],
484
- ['1.2.* || 2.*', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
485
- ['1.2.* || 2.*', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
544
+ ['2.*.*', [['>=2.0.0', '<3.0.0']]],
545
+ ['1.2.*', [['>=1.2.0', '<1.3.0']]],
546
+ ['1.2.* || 2.*', [['>=1.2.0', '<1.3.0'], ['>=2.0.0', '<3.0.0']]],
547
+ ['1.2.* || 2.*', [['>=1.2.0', '<1.3.0'], ['>=2.0.0', '<3.0.0']]],
486
548
  ['*', [['']]],
487
- ['2', [['>=2.0.0-0', '<3.0.0-0']]],
488
- ['2.3', [['>=2.3.0-0', '<2.4.0-0']]],
489
- ['~2.4', [['>=2.4.0-0', '<2.5.0-0']]],
490
- ['~2.4', [['>=2.4.0-0', '<2.5.0-0']]],
491
- ['~>3.2.1', [['>=3.2.1-0', '<3.3.0-0']]],
492
- ['~1', [['>=1.0.0-0', '<2.0.0-0']]],
493
- ['~>1', [['>=1.0.0-0', '<2.0.0-0']]],
494
- ['~> 1', [['>=1.0.0-0', '<2.0.0-0']]],
495
- ['~1.0', [['>=1.0.0-0', '<1.1.0-0']]],
496
- ['~ 1.0', [['>=1.0.0-0', '<1.1.0-0']]],
497
- ['~ 1.0.3', [['>=1.0.3-0', '<1.1.0-0']]],
498
- ['~> 1.0.3', [['>=1.0.3-0', '<1.1.0-0']]],
499
- ['<1', [['<1.0.0-0']]],
500
- ['< 1', [['<1.0.0-0']]],
501
- ['>=1', [['>=1.0.0-0']]],
502
- ['>= 1', [['>=1.0.0-0']]],
503
- ['<1.2', [['<1.2.0-0']]],
504
- ['< 1.2', [['<1.2.0-0']]],
505
- ['1', [['>=1.0.0-0', '<2.0.0-0']]],
506
- ['1 2', [['>=1.0.0-0', '<2.0.0-0', '>=2.0.0-0', '<3.0.0-0']]],
507
- ['1.2 - 3.4.5', [['>=1.2.0-0', '<=3.4.5']]],
508
- ['1.2.3 - 3.4', [['>=1.2.3', '<3.5.0-0']]]
549
+ ['2', [['>=2.0.0', '<3.0.0']]],
550
+ ['2.3', [['>=2.3.0', '<2.4.0']]],
551
+ ['~2.4', [['>=2.4.0', '<2.5.0']]],
552
+ ['~2.4', [['>=2.4.0', '<2.5.0']]],
553
+ ['~>3.2.1', [['>=3.2.1', '<3.3.0']]],
554
+ ['~1', [['>=1.0.0', '<2.0.0']]],
555
+ ['~>1', [['>=1.0.0', '<2.0.0']]],
556
+ ['~> 1', [['>=1.0.0', '<2.0.0']]],
557
+ ['~1.0', [['>=1.0.0', '<1.1.0']]],
558
+ ['~ 1.0', [['>=1.0.0', '<1.1.0']]],
559
+ ['~ 1.0.3', [['>=1.0.3', '<1.1.0']]],
560
+ ['~> 1.0.3', [['>=1.0.3', '<1.1.0']]],
561
+ ['<1', [['<1.0.0']]],
562
+ ['< 1', [['<1.0.0']]],
563
+ ['>=1', [['>=1.0.0']]],
564
+ ['>= 1', [['>=1.0.0']]],
565
+ ['<1.2', [['<1.2.0']]],
566
+ ['< 1.2', [['<1.2.0']]],
567
+ ['1', [['>=1.0.0', '<2.0.0']]],
568
+ ['1 2', [['>=1.0.0', '<2.0.0', '>=2.0.0', '<3.0.0']]],
569
+ ['1.2 - 3.4.5', [['>=1.2.0', '<=3.4.5']]],
570
+ ['1.2.3 - 3.4', [['>=1.2.3', '<3.5.0']]],
571
+ ['1.2.3 - 3', [['>=1.2.3', '<4.0.0']]],
572
+ ['>*', [['<0.0.0']]],
573
+ ['<*', [['<0.0.0']]]
509
574
  ].forEach(function(v) {
510
575
  var pre = v[0];
511
576
  var wanted = v[1];
@@ -559,7 +624,7 @@ test('\nstrict vs loose version numbers', function(t) {
559
624
 
560
625
  test('\nstrict vs loose ranges', function(t) {
561
626
  [['>=01.02.03', '>=1.2.3'],
562
- ['~1.02.03beta', '>=1.2.3-beta <1.3.0-0']
627
+ ['~1.02.03beta', '>=1.2.3-beta <1.3.0']
563
628
  ].forEach(function(v) {
564
629
  var loose = v[0];
565
630
  var comps = v[1];
package/test/ltr.js CHANGED
@@ -66,6 +66,10 @@ test('\nltr tests', function(t) {
66
66
  ['>1', '1.0.0beta', true],
67
67
  ['> 1', '1.0.0beta', true],
68
68
  ['=0.7.x', '0.6.2'],
69
+ ['=0.7.x', '0.7.0-asdf'],
70
+ ['^1', '1.0.0-0'],
71
+ ['>=0.7.x', '0.7.0-asdf'],
72
+ ['1', '1.0.0beta', true],
69
73
  ['>=0.7.x', '0.6.2']
70
74
  ].forEach(function(tuple) {
71
75
  var range = tuple[0];
@@ -145,24 +149,26 @@ test('\nnegative ltr tests', function(t) {
145
149
  ['>= 1', '1.0.0'],
146
150
  ['<1.2', '1.1.1'],
147
151
  ['< 1.2', '1.1.1'],
148
- ['1', '1.0.0beta', true],
149
152
  ['~v0.5.4-pre', '0.5.5'],
150
153
  ['~v0.5.4-pre', '0.5.4'],
151
154
  ['=0.7.x', '0.7.2'],
152
155
  ['>=0.7.x', '0.7.2'],
153
- ['=0.7.x', '0.7.0-asdf'],
154
- ['>=0.7.x', '0.7.0-asdf'],
155
156
  ['<=0.7.x', '0.6.2'],
156
157
  ['>0.2.3 >0.2.4 <=0.2.5', '0.2.5'],
157
158
  ['>=0.2.3 <=0.2.4', '0.2.4'],
158
159
  ['1.0.0 - 2.0.0', '2.0.0'],
159
- ['^1', '1.0.0-0'],
160
160
  ['^3.0.0', '4.0.0'],
161
161
  ['^1.0.0 || ~2.0.1', '2.0.0'],
162
162
  ['^0.1.0 || ~3.0.1 || 5.0.0', '3.2.0'],
163
163
  ['^0.1.0 || ~3.0.1 || 5.0.0', '1.0.0beta', true],
164
164
  ['^0.1.0 || ~3.0.1 || 5.0.0', '5.0.0-0', true],
165
165
  ['^0.1.0 || ~3.0.1 || >4 <=5.0.0', '3.5.0'],
166
+ ['^1.0.0alpha', '1.0.0beta', true],
167
+ ['~1.0.0alpha', '1.0.0beta', true],
168
+ ['^1.0.0-alpha', '1.0.0beta', true],
169
+ ['~1.0.0-alpha', '1.0.0beta', true],
170
+ ['^1.0.0-alpha', '1.0.0-beta'],
171
+ ['~1.0.0-alpha', '1.0.0-beta'],
166
172
  ['=0.1.0', '1.0.0']
167
173
  ].forEach(function(tuple) {
168
174
  var range = tuple[0];
package/test/no-module.js CHANGED
@@ -4,9 +4,9 @@ var test = tap.test;
4
4
  test('no module system', function(t) {
5
5
  var fs = require('fs');
6
6
  var vm = require('vm');
7
- var head = fs.readFileSync(require.resolve('../head.js'), 'utf8');
7
+ var head = fs.readFileSync(require.resolve('../head.js.txt'), 'utf8');
8
8
  var src = fs.readFileSync(require.resolve('../'), 'utf8');
9
- var foot = fs.readFileSync(require.resolve('../foot.js'), 'utf8');
9
+ var foot = fs.readFileSync(require.resolve('../foot.js.txt'), 'utf8');
10
10
  vm.runInThisContext(head + src + foot, 'semver.js');
11
11
 
12
12
  // just some basic poking to see if it did some stuff