summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/lib/Internals.t
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl/lib/Internals.t')
-rw-r--r--gnu/usr.bin/perl/lib/Internals.t18
1 files changed, 16 insertions, 2 deletions
diff --git a/gnu/usr.bin/perl/lib/Internals.t b/gnu/usr.bin/perl/lib/Internals.t
index d3fce9c1c81..8af04af1bd5 100644
--- a/gnu/usr.bin/perl/lib/Internals.t
+++ b/gnu/usr.bin/perl/lib/Internals.t
@@ -7,7 +7,7 @@ BEGIN {
}
}
-use Test::More tests => 78;
+use Test::More tests => 82;
my $ro_err = qr/^Modification of a read-only value attempted/;
@@ -173,4 +173,18 @@ is( Internals::SvREFCNT($foo, $big_count), $big_count,
"set reference count unsigned");
is( Internals::SvREFCNT($foo), $big_count, "reference count unsigned");
-Internals::SvREFCNT($foo, 1 );
+{
+ my @arr = Internals::SvREFCNT($foo, 1 );
+ is(scalar(@arr), 1, "SvREFCNT always returns only 1 item");
+}
+
+{
+ my $usage = 'Usage: Internals::SvREFCNT(SCALAR[, REFCOUNT])';
+ eval { &Internals::SvREFCNT();};
+ like($@, qr/\Q$usage\E/);
+ $foo = \"perl";
+ eval { &Internals::SvREFCNT($foo, 0..1);};
+ like($@, qr/\Q$usage\E/);
+ eval { &Internals::SvREFCNT($foo, 0..3);};
+ like($@, qr/\Q$usage\E/);
+}