aboutsummaryrefslogtreecommitdiffstats
path: root/t/parse.t
diff options
context:
space:
mode:
Diffstat (limited to 't/parse.t')
-rw-r--r--t/parse.t38
1 files changed, 37 insertions, 1 deletions
diff --git a/t/parse.t b/t/parse.t
index 6ebe8fe..cae8707 100644
--- a/t/parse.t
+++ b/t/parse.t
@@ -10,7 +10,7 @@ use URPM::Build;
if (`uname -a` =~ /BSD/i) {
plan skip_all => "*BSD fails those";
} else {
- plan tests => 41;
+ plan tests => 71;
}
@@ -88,6 +88,42 @@ ok(URPM::rpmvercmp("1-1mdk", "1-2mdk") == -1, "Right value win = -1");
ok(URPM::rpmvercmp("1-2mdk", "1-1mdk") == 1, "Left value win = 1");
ok(URPM::rpmvercmp("1:1-1mdk", "2:1-1mdk") == -1, "epoch 1 vs 2 = -1");
+# Basic testcases for tilde sorting
+ok(URPM::rpmvercmp("1.0~rc1", "1.0~rc1") == 0, "Same value = 0");
+ok(URPM::rpmvercmp("1.0~rc1", "1.0") == -1, "Right value win = -1");
+ok(URPM::rpmvercmp("1.0", "1.0~rc1") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0~rc1", "1.0~rc2") == -1, "Right value win = -1");
+ok(URPM::rpmvercmp("1.0~rc2", "1.0~rc1") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0~rc1~git123", "1.0~rc1~git123") == 0, "Same value = 0");
+ok(URPM::rpmvercmp("1.0~rc1~git123", "1.0~rc1") == -1, "Right value win = -1");
+ok(URPM::rpmvercmp("1.0~rc1", "1.0~rc1~git123") == 1, "Left value win = 1");
+
+# Basic testcases for caret sorting
+ok(URPM::rpmvercmp("1.0^", "1.0^") == 0, "Same value = 0");
+ok(URPM::rpmvercmp("1.0^", "1.0") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0", "1.0^") == -1, "Right value win = -1");
+ok(URPM::rpmvercmp("1.0^git1", "1.0^git1") == 0, "Same value = 0");
+ok(URPM::rpmvercmp("1.0^git1", "1.0") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0", "1.0^git1") == -1, "Right value win = -1");
+ok(URPM::rpmvercmp("1.0^git1", "1.0^git2") == -1, "Right value win = -1");
+ok(URPM::rpmvercmp("1.0^git2", "1.0^git1") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0^git1", "1.01") == -1, "Right value win = -1");
+ok(URPM::rpmvercmp("1.01", "1.0^git1") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0^20160101", "1.0^20160101") == 0, "Same value = 0");
+ok(URPM::rpmvercmp("1.0^20160101", "1.0.1") == -1, "Right value win = -1");
+ok(URPM::rpmvercmp("1.0.1", "1.0^20160101") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0^20160101^git1", "1.0^20160101^git1") == 0, "Same value = 0");
+ok(URPM::rpmvercmp("1.0^20160102", "1.0^20160101^git1") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0^20160101^git1", "1.0^20160102") == -1, "Right value win = -1");
+
+# Basic testcases for tilde and caret sorting
+ok(URPM::rpmvercmp("1.0~rc1^git1", "1.0~rc1^git1") == 0, "Same value = 0");
+ok(URPM::rpmvercmp("1.0~rc1^git1", "1.0~rc1") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0~rc1", "1.0~rc1^git1") == -1, "Right value win = -1");
+ok(URPM::rpmvercmp("1.0^git1~pre", "1.0^git1~pre") == 0, "Same value = 0");
+ok(URPM::rpmvercmp("1.0^git1", "1.0^git1~pre") == 1, "Left value win = 1");
+ok(URPM::rpmvercmp("1.0^git1~pre", "1.0^git1") == -1, "Right value win = -1");
+
{
open(my $hdfh, "zcat hdlist.cz 2>/dev/null |") or die $!;
my $pkg = URPM::stream2header($hdfh);