6 use Test::More tests => 2 + 21 * (3 + 2);
8 use CPANPLUS::Dist::Gentoo::Version;
10 sub V () { 'CPANPLUS::Dist::Gentoo::Version' }
12 eval { V->new('dongs') };
13 like $@, qr/Couldn't\s+parse\s+version\s+string/, "V->('dongs')";
15 eval { my $res = 'dongs' < V->new(1) };
16 like $@, qr/Couldn't\s+parse\s+version\s+string/, "'dongs' < V->new(1)";
31 [ '1.0_p0', '1.0_p0', 0 ],
32 [ '1.0_p0', '1.0_p1', -1 ],
33 [ '1.1_p0', '1.0_p1', 1 ],
34 [ '1.1_p0', '1.1_p0.1', -1 ],
35 [ '1.1_p0.1', '1.1_p0.1', 0 ],
37 [ '1.2_p0-r0', '1.2_p0', 0 ],
38 [ '1.2_p0-r1', '1.2_p0', 1 ],
39 [ '1.2-r0', '1.2_p0', 0 ],
40 [ '1.2-r1', '1.2_p0', 1 ],
41 [ '1.2-r1', '1.2_p1', -1 ],
42 [ '1.2-r2', '1.2_p1', -1 ],
46 my ($s1, $s2, $res) = @$_;
51 is $s1 <=> $v2, $res, "'$s1' <=> V->new('$s2')";
52 is $v1 <=> $s2, $res, "V->new('$s1') <=> '$s2'";
53 is $v1 <=> $v2, $res, "V->new('$s1') <=> V->new('$s2')";
55 cmp_ok "$v1", 'eq', $s1, "V->new('$s1') eq '$s1'";
56 cmp_ok "$v2", 'eq', $s2, "V->new('$s2') eq '$s2'";