]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/blob - t/12-maps-version.t
80a4baae45dc9db912ff903544d67a3cb05c3d8b
[perl/modules/CPANPLUS-Dist-Gentoo.git] / t / 12-maps-version.t
1 #!perl -T
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 10 + 24;
7
8 use CPANPLUS::Dist::Gentoo::Maps;
9
10 *vc2g  = \&CPANPLUS::Dist::Gentoo::Maps::version_c2g;
11
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')";
22
23 *vgcmp = \&CPANPLUS::Dist::Gentoo::Maps::version_gcmp;
24
25 eval { vgcmp('dongs', 1) };
26 like $@, qr/Couldn't\s+parse\s+version\s+string/, "version_gcmp('dongs', 1)";
27
28 eval { vgcmp(1, 'dongs') };
29 like $@, qr/Couldn't\s+parse\s+version\s+string/, "version_gcmp(1, 'dongs')";
30
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)';
36
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')";
43
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')";
49
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')";