]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/blobdiff - t/20-version.t
Allow zero as a suffix or revision index
[perl/modules/CPANPLUS-Dist-Gentoo.git] / t / 20-version.t
index 51bbf05e3e3ff65a75c7d61b18f4dd1bf642e5cd..24a8fad6d139b9a7c873e39ebf25f2674a813ffb 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 3 + (2 + 2 * 3) * (50 + 4 * 7);
+use Test::More tests => 3 + (2 + 2 * 3) * (69 + 4 * 7);
 
 use CPANPLUS::Dist::Gentoo::Version;
 
@@ -21,23 +21,41 @@ like $@, qr/Couldn't\s+parse\s+version\s+string/, "'dongs' < V->new(1)";
 my @tests = (
  [ 0, 0 =>  0 ],
  [ 1, 0 =>  1 ],
- [ 0, 1 => -1 ],
  [ 1, 1 =>  0 ],
 
- [ '1.0',   1       =>  0 ],
+ [ '00',  '0'  => 0 ],
+ [ '01',  '1'  => 0 ],
+ [ '001', '1'  => 0 ],
+ [ '001', '01' => 0 ],
+
+ [ '1.0',   1       =>  1 ], # Yes, 1.0 > 1. Deal with it
+ [ '1.0',   '1.0'   =>  0 ],
  [ '1.1',   1       =>  1 ],
  [ '1.1',   '1.0'   =>  1 ],
- [ 1,       '1.0'   =>  0 ],
- [ 1,       '1.1'   => -1 ],
- [ '1.0',   '1.1'   => -1 ],
- [ '1.0.1', '1.1'   => -1 ],
- [ '1.0.1', '1.0.0' =>  1 ],
-
- [ '1a',   1      =>  1 ],
- [ '1.0a', 1      =>  1 ],
- [ '1.0',  '1a'   => -1 ],
- [ '1a',   '1b'   => -1 ],
- [ '1.1a', '1.0b' =>  1 ],
+ [ '1.1',   '1.1'   =>  0 ],
+ [ '1.1',   '1.10'  => -1 ],
+ [ '1.1',   '1.01'  =>  1 ],
+ [ '1.1',   '1.010' =>  1 ],
+ [ '1.01',  '1.010' =>  0 ],
+
+ [ '1.0.0',  1         =>  1 ], # Ditto
+ [ '1.0.0',  '1.0'     =>  1 ], # Tritto
+ [ '1.0.0',  '1.0.0'   =>  0 ],
+ [ '1.0.1',  '1.1'     => -1 ],
+ [ '1.0.1',  '1.0.0'   =>  1 ],
+ [ '1.0.1',  '1.0.1'   =>  0 ],
+ [ '1.0.1',  '1.0.10'  => -1 ],
+ [ '1.0.1',  '1.0.01'  =>  1 ],
+ [ '1.0.1',  '1.0.010' =>  1 ],
+ [ '1.0.01', '1.0.010' =>  0 ],
+
+ [ '1a',    1        =>  1 ],
+ [ '1.0a',  1        =>  1 ],
+ [ '1.0',   '1a'     =>  1 ], # Same
+ [ '1a',    '1b'     => -1 ],
+ [ '1.1a',  '1.0b'   =>  1 ],
+ [ '1.1a',  '1.01a'  =>  1 ],
+ [ '1.01a', '1.010a' =>  0 ],
 
  map( {
   [ '1.0',        "1.0_${_}"  =>  1 ],
@@ -49,7 +67,9 @@ my @tests = (
   [ "1.1_${_}1",  "1.0_${_}2" =>  1 ],
  } qw(alpha beta pre rc)),
 
- [ '1.0',     '1.0_p'  => -1 ],
+ [ '1.0',     '1.0_p0' => -1 ],
+ [ '1.0',     '1.0_p1' => -1 ],
+ [ '1.0_p',   '1.0_p0' =>  0 ],
  [ '1.0a',    '1.0_p'  =>  1 ],
  [ '1.0',     '1.0_p1' => -1 ],
  [ '1.0_p1',  '1.0_p1' =>  0 ],
@@ -61,7 +81,6 @@ my @tests = (
  [ '1.0_beta1',  '1.0_pre1'  => -1 ],
  [ '1.0_pre1',   '1.0_rc1'   => -1 ],
  [ '1.0_rc1',    '1.0'       => -1 ],
- [ '1.0',        '1.0_p1'    => -1 ],
 
  [ '1.0_alpha', '1.0_alpha_alpha' =>  1 ],
  [ '1.0_beta',  '1.0_beta_beta'   =>  1 ],
@@ -75,11 +94,13 @@ my @tests = (
  [ '1.0_pre1_rc2', '1.0_pre1_rc2'    =>  0 ],
  [ '1.0_pre1_rc2', '1.0_pre1_rc3'    => -1 ],
 
+ [ '1.0',    '1.0-r0' =>  0 ],
  [ '1.0',    '1.0-r1' => -1 ],
  [ '1.0-r1', '1.0-r1' =>  0 ],
  [ '1.0-r1', '1.0-r2' => -1 ],
  [ '1.1-r1', '1.0-r2' =>  1 ],
 
+ [ '1.2_p0-r0',      '1.2_p',             0 ],
  [ '1.2_p1-r1',      '1.2_p1',            1 ],
  [ '1.2_p1-r1',      '1.2_p1_p1',        -1 ],
  [ '1.2_p1_pre2-r1', '1.2_p1-r1',        -1 ],