CPANPLUS-Dist-Gentoo
view release on metacpan or search on metacpan
t/20-version.t view on Meta::CPAN
#!perl -T
use strict;
use warnings;
use Test::More tests => 3 + (2 + 2 * 3) * (69 + 4 * 7);
use CPANPLUS::Dist::Gentoo::Version;
sub V () { 'CPANPLUS::Dist::Gentoo::Version' }
eval { V->new() };
like $@, qr/You\s+must\s+specify\s+a\s+version\s+string/, "V->(undef)";
eval { V->new('dongs') };
like $@, qr/Couldn't\s+parse\s+version\s+string/, "V->('dongs')";
eval { my $res = 'dongs' < V->new(1) };
like $@, qr/Couldn't\s+parse\s+version\s+string/, "'dongs' < V->new(1)";
my @tests = (
[ 0, 0 => 0 ],
[ 1, 0 => 1 ],
[ 1, 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', '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 ],
[ '1.0a', "1.0_${_}" => 1 ],
[ '1.0', "1.0_${_}1" => 1 ],
[ "1.0_${_}1", "1.0_${_}1" => 0 ],
[ "1.0_${_}1", "1.0_${_}2" => -1 ],
[ "1.0a_${_}1", "1.0_${_}2" => 1 ],
[ "1.1_${_}1", "1.0_${_}2" => 1 ],
} qw(alpha beta pre rc)),
[ '1.0', '1.0_p0' => -1 ],
( run in 2.122 seconds using v1.01-cache-2.11-cpan-8dfa8b56332 )