This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Avoid needless use of deprecated exists on array elements
[perl5.git] / ext / XS-APItest / t / xsub_h.t
index 8735552..9bf0710 100644 (file)
@@ -18,7 +18,7 @@ sub default {
 
 sub expect_good {
     my $package = $_[0];
-    my $version = exists $_[1] ? ", $_[1]" : '';
+    my $version = @_ >= 2 ? ", $_[1]" : '';
     local $Test::Builder::Level = $Test::Builder::Level + 1;
     is_deeply([XS_VERSION_defined(@_)], [],
              "Is good for $package$version");
@@ -37,7 +37,7 @@ sub expect_bad {
     } else {
        $what = 'bootstrap parameter';
     }
-    if (exists $_[1]) {
+    if (@_ >= 2) {
        $desc = "$_[0], $_[1]";
     } else {
        $desc = $_[0];
@@ -114,4 +114,10 @@ foreach $XS_VERSION (undef, @versions) {
     is ($count, 0, "no objects exist");
 }
 
+is_deeply([XS_APIVERSION_valid("Pie")], [], "XS_APIVERSION_BOOTCHECK passes");
+is(eval {XS_APIVERSION_invalid("Pie"); 1}, undef,
+   "XS_APIVERSION_BOOTCHECK croaks for an invalid version");
+like($@, qr/Perl API version v1.0.16 of Pie does not match v5\.\d+\.\d+/,
+     "expected error");
+
 done_testing();