]> git.donarmstrong.com Git - debbugs.git/blob - t/02_version_dpkg.t
* Fix Debbugs::Versions::Dpkg to deal with ~ in the versions properly
[debbugs.git] / t / 02_version_dpkg.t
1 # -*- mode: cperl;-*-
2
3 use Test::More;
4
5 use warnings;
6 use strict;
7
8 use utf8;
9 use Encode;
10
11 # Default cmp '>'
12 my @versions = ({a      => '1.0-1',
13                  b      => '2.0-2',
14                  result => -1,
15                  relation => 'lt',
16                 },
17                 {a      => '2.2~rc-4',
18                  b      => '2.2-1',
19                  result => -1,
20                  relation => 'lt',
21                 },
22                 {a      => '2.2-1',
23                  b      => '2.2~rc-4',
24                  result => 1,
25                  relation => 'gt',
26                 },
27                 {a      => '1.0000-1',
28                  b      => '1.0-1',
29                  result => 0,
30                  relation => 'eq',
31                 },
32                );
33
34 plan tests => @versions * 2 + 1;
35
36 sub dpkg_vercmp{
37      my ($a,$b,$cmp) = @_;
38      $cmp = 'gt' if not defined $cmp;
39      return system('dpkg','--compare-versions',$a,$cmp,$b) == 0;
40 }
41
42
43 use_ok('Debbugs::Versions::Dpkg');
44
45 for my $version_cmp (@versions) {
46      ok(Debbugs::Versions::Dpkg::vercmp($$version_cmp{a},$$version_cmp{b}) == $$version_cmp{result},
47         "Version $$version_cmp{a} $$version_cmp{relation} $$version_cmp{b} ok");
48      ok(dpkg_vercmp($$version_cmp{a},$$version_cmp{b},$$version_cmp{relation}),
49         "Dpkg concures: Version $$version_cmp{a} $$version_cmp{relation} $$version_cmp{b}");
50 }
51