Skip to content

Commit

Permalink
tests: replace deprecated given/when usage with if/elsif/else
Browse files Browse the repository at this point in the history
And fix invalid/valid Version tests.
  • Loading branch information
radhermit committed Dec 15, 2023
1 parent aa8e118 commit 76182d3
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 22 deletions.
4 changes: 2 additions & 2 deletions lib/Pkgcraft/Version.pm
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ package Pkgcraft::Version {
}

sub parse {
my $class = shift;
my $str = shift // die "missing version string";
my $ptr = C::pkgcraft_version_parse($str);
return (defined $ptr);
return (defined C::pkgcraft_version_parse($str));
}

sub revision {
Expand Down
16 changes: 7 additions & 9 deletions t/Pkgcraft/Dep.t
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,13 @@ foreach my $str (@{$DEP_DATA->{"compares"}}) {
my ($s1, $op, $s2) = split ' ', $str;
my $d1 = Pkgcraft::Dep->new($s1);
my $d2 = Pkgcraft::Dep->new($s2);
given ($op) {
when ("<") { ok($d1 < $d2, $str) }
when ("<=") { ok($d1 <= $d2, $str) }
when ("==") { ok($d1 == $d2, $str) }
when ("!=") { ok($d1 != $d2, $str) }
when (">=") { ok($d1 >= $d2, $str) }
when (">") { ok($d1 > $d2, $str) }
default { die "unknown operator: $op" }
}
if ($op eq "<") { ok($d1 < $d2, $str) }
elsif ($op eq "<=") { ok($d1 <= $d2, $str) }
elsif ($op eq "==") { ok($d1 == $d2, $str) }
elsif ($op eq "!=") { ok($d1 != $d2, $str) }
elsif ($op eq ">=") { ok($d1 >= $d2, $str) }
elsif ($op eq ">") { ok($d1 > $d2, $str) }
else { die "unknown operator: $op" }
}

# dep sorting
Expand Down
26 changes: 15 additions & 11 deletions t/Pkgcraft/Version.t
Original file line number Diff line number Diff line change
Expand Up @@ -33,24 +33,28 @@ ok(dies { Pkgcraft::Version->new(">1-r2") == ">1-r2" });

# valid
foreach my $str (@{$VERSION_DATA->{"valid"}}) {
ok(Pkgcraft::Version->new($str));
ok(Pkgcraft::Version->parse($str));
ok(lives { Pkgcraft::Version->new($str) });
ok(Pkgcraft::Version->parse($str), "$str is not a valid version");
}

# invalid
foreach my $str (@{$VERSION_DATA->{"invalid"}}) {
ok(dies { Pkgcraft::Version->new($str) });
ok(!Pkgcraft::Version->parse($str), "$str is a valid version");
}

# version comparisons
foreach my $str (@{$VERSION_DATA->{"compares"}}) {
my ($s1, $op, $s2) = split ' ', $str;
my $v1 = Pkgcraft::Version->new($s1);
my $v2 = Pkgcraft::Version->new($s2);
given ($op) {
when ("<") { ok($v1 < $v2, $str) }
when ("<=") { ok($v1 <= $v2, $str) }
when ("==") { ok($v1 == $v2, $str) }
when ("!=") { ok($v1 != $v2, $str) }
when (">=") { ok($v1 >= $v2, $str) }
when (">") { ok($v1 > $v2, $str) }
default { die "unknown operator: $op" }
}
if ($op eq "<") { ok($v1 < $v2, $str) }
elsif ($op eq "<=") { ok($v1 <= $v2, $str) }
elsif ($op eq "==") { ok($v1 == $v2, $str) }
elsif ($op eq "!=") { ok($v1 != $v2, $str) }
elsif ($op eq ">=") { ok($v1 >= $v2, $str) }
elsif ($op eq ">") { ok($v1 > $v2, $str) }
else { die "unknown operator: $op" }
}

# version sorting
Expand Down

0 comments on commit 76182d3

Please sign in to comment.