|
|
@@ -0,0 +1,51 @@
|
|
|
+# -*- mode: cperl;-*-
|
|
|
+
|
|
|
+use Test::More;
|
|
|
+
|
|
|
+use warnings;
|
|
|
+use strict;
|
|
|
+
|
|
|
+use utf8;
|
|
|
+use Encode;
|
|
|
+
|
|
|
+# Default cmp '>'
|
|
|
+my @versions = ({a => '1.0-1',
|
|
|
+ b => '2.0-2',
|
|
|
+ result => -1,
|
|
|
+ relation => 'lt',
|
|
|
+ },
|
|
|
+ {a => '2.2~rc-4',
|
|
|
+ b => '2.2-1',
|
|
|
+ result => -1,
|
|
|
+ relation => 'lt',
|
|
|
+ },
|
|
|
+ {a => '2.2-1',
|
|
|
+ b => '2.2~rc-4',
|
|
|
+ result => 1,
|
|
|
+ relation => 'gt',
|
|
|
+ },
|
|
|
+ {a => '1.0000-1',
|
|
|
+ b => '1.0-1',
|
|
|
+ result => 0,
|
|
|
+ relation => 'eq',
|
|
|
+ },
|
|
|
+ );
|
|
|
+
|
|
|
+plan tests => @versions * 2 + 1;
|
|
|
+
|
|
|
+sub dpkg_vercmp{
|
|
|
+ my ($a,$b,$cmp) = @_;
|
|
|
+ $cmp = 'gt' if not defined $cmp;
|
|
|
+ return system('dpkg','--compare-versions',$a,$cmp,$b) == 0;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+use_ok('Dpkg::Version');
|
|
|
+
|
|
|
+for my $version_cmp (@versions) {
|
|
|
+ ok(Dpkg::Version::vercmp($$version_cmp{a},$$version_cmp{b}) == $$version_cmp{result},
|
|
|
+ "Version $$version_cmp{a} $$version_cmp{relation} $$version_cmp{b} ok");
|
|
|
+ ok(dpkg_vercmp($$version_cmp{a},$$version_cmp{b},$$version_cmp{relation}),
|
|
|
+ "Dpkg concures: Version $$version_cmp{a} $$version_cmp{relation} $$version_cmp{b}");
|
|
|
+}
|
|
|
+
|