6 use Test::More tests => 10 + 24;
8 use CPANPLUS::Dist::Gentoo::Maps;
10 *vc2g = \&CPANPLUS::Dist::Gentoo::Maps::version_c2g;
12 is vc2g('1'), '1', "version_c2g('1')";
13 is vc2g('a1b'), '1', "version_c2g('a1b')";
14 is vc2g('..1'), '1', "version_c2g('..1')";
15 is vc2g('1.0'), '1.0', "version_c2g('1.0')";
16 is vc2g('1._0'), '1.0', "version_c2g('1._0')";
17 is vc2g('1_1'), '1_p1', "version_c2g('1_1')";
18 is vc2g('1_.1'), '1_p1', "version_c2g('1_.1')";
19 is vc2g('1_.1._2'), '1_p1.2', "version_c2g('1_.1._2')";
20 is vc2g('1_.1_2'), '1_p1.2', "version_c2g('1_.1_2')";
21 is vc2g('1_.1_.2'), '1_p1.2', "version_c2g('1_.1_.2')";
23 *vgcmp = \&CPANPLUS::Dist::Gentoo::Maps::version_gcmp;
25 eval { vgcmp('dongs', 1) };
26 like $@, qr/Couldn't\s+parse\s+version\s+string/, "version_gcmp('dongs', 1)";
28 eval { vgcmp(1, 'dongs') };
29 like $@, qr/Couldn't\s+parse\s+version\s+string/, "version_gcmp(1, 'dongs')";
31 is vgcmp(undef, 0), 0, 'version_gcmp(undef, 0)';
32 is vgcmp(0, 0), 0, 'version_gcmp(0, 0)';
33 is vgcmp(1, 0), 1, 'version_gcmp(1, 0)';
34 is vgcmp(0, 1), -1, 'version_gcmp(0, 1)';
35 is vgcmp(1, 1), 0, 'version_gcmp(1, 1)';
37 is vgcmp('1.0', 1), 0, "version_gcmp('1.0', 1)";
38 is vgcmp('1.1', 1), 1, "version_gcmp('1.1', 1)";
39 is vgcmp('1.1', '1.0'), 1, "version_gcmp('1.1', '1.0')";
40 is vgcmp(1, '1.0'), 0, "version_gcmp(1, '1.0')";
41 is vgcmp(1, '1.1'), -1, "version_gcmp(1, '1.1')";
42 is vgcmp('1.0', '1.1'), -1, "version_gcmp('1.0', '1.1')";
44 is vgcmp('1.0_p0', '1.0_p0'), 0, "version_gcmp('1.0_p0', '1.0_p0')";
45 is vgcmp('1.0_p0', '1.0_p1'), -1, "version_gcmp('1.0_p0', '1.0_p1')";
46 is vgcmp('1.1_p0', '1.0_p1'), 1, "version_gcmp('1.1_p0', '1.0_p1')";
47 is vgcmp('1.1_p0', '1.1_p0.1'), -1, "version_gcmp('1.1_p0', '1.1_p0.1')";
48 is vgcmp('1.1_p0.1', '1.1_p0.1'), 0, "version_gcmp('1.1_p0.1', '1.1_p0.1')";
50 is vgcmp('1.2_p0-r0', '1.2_p0'), 0, "version_gcmp('1.2_p0-r0', '1.2_p0')";
51 is vgcmp('1.2_p0-r1', '1.2_p0'), 1, "version_gcmp('1.2_p0-r1', '1.2_p0')";
52 is vgcmp('1.2-r0', '1.2_p0'), 0, "version_gcmp('1.2-r0', '1.2_p0')";
53 is vgcmp('1.2-r1', '1.2_p0'), 1, "version_gcmp('1.2-r1', '1.2_p0')";
54 is vgcmp('1.2-r1', '1.2_p1'), -1, "version_gcmp('1.2-r1', '1.2_p1')";
55 is vgcmp('1.2-r2', '1.2_p1'), -1, "version_gcmp('1.2-r2', '1.2_p1')";