From b0d32e29cd4d58939561645f9c8aac9e0f6ea314 Mon Sep 17 00:00:00 2001 From: Tim Harder Date: Thu, 14 Dec 2023 20:31:53 -0700 Subject: [PATCH] tests: replace deprecated given/when usage with if/elsif/else And fix invalid/valid Version tests. --- lib/Pkgcraft/Version.pm | 2 +- lib/_pkgcraft_c.pm | 2 +- t/Pkgcraft/Dep.t | 16 +++++++--------- t/Pkgcraft/Version.t | 26 +++++++++++++++----------- 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/lib/Pkgcraft/Version.pm b/lib/Pkgcraft/Version.pm index 51cea86..45a4e11 100644 --- a/lib/Pkgcraft/Version.pm +++ b/lib/Pkgcraft/Version.pm @@ -63,7 +63,7 @@ package Pkgcraft::Version { sub parse { my $str = shift // die "missing version string"; my $ptr = C::pkgcraft_version_parse($str); - return (defined $ptr); + return defined($ptr); } sub revision { diff --git a/lib/_pkgcraft_c.pm b/lib/_pkgcraft_c.pm index b99b2cd..32719ac 100644 --- a/lib/_pkgcraft_c.pm +++ b/lib/_pkgcraft_c.pm @@ -131,7 +131,7 @@ $ffi->attach('pkgcraft_version_intersects' => ['version_t', 'version_t'] => 'boo $ffi->attach('pkgcraft_version_new' => ['string'] => 'version_t'); $ffi->attach('pkgcraft_version_revision' => ['version_t'] => 'revision_t'); $ffi->attach('pkgcraft_version_str' => ['version_t'] => 'c_str'); -$ffi->attach('pkgcraft_version_parse' => ['string'] => 'opaque'); +$ffi->attach('pkgcraft_version_parse' => ['string'] => 'c_str'); # revision support $ffi->attach('pkgcraft_revision_cmp' => ['revision_t', 'revision_t'] => 'int'); diff --git a/t/Pkgcraft/Dep.t b/t/Pkgcraft/Dep.t index 1df19c9..f05e491 100644 --- a/t/Pkgcraft/Dep.t +++ b/t/Pkgcraft/Dep.t @@ -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 diff --git a/t/Pkgcraft/Version.t b/t/Pkgcraft/Version.t index 0495757..e5db238 100644 --- a/t/Pkgcraft/Version.t +++ b/t/Pkgcraft/Version.t @@ -33,8 +33,14 @@ 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 @@ -42,15 +48,13 @@ 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