This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Avoid 'defined(@array) is deprecated' warnings in tests.
authorNicholas Clark <nick@ccl4.org>
Tue, 17 Jan 2012 12:29:56 +0000 (13:29 +0100)
committerNicholas Clark <nick@ccl4.org>
Tue, 17 Jan 2012 12:29:56 +0000 (13:29 +0100)
Commit 604a99bd464c92d7 enabled the warning for package arrays, but failed
to lexically disable the warning for the various tests for the construction.
Even though the construction is deprecated, we'd still like to know if the
behaviour changes, in case it wasn't intentional.

t/op/gv.t
t/op/method.t
t/op/undef.t
t/uni/gv.t

index 798cc73..e2eae33 100644 (file)
--- a/t/op/gv.t
+++ b/t/op/gv.t
@@ -192,7 +192,10 @@ is (*{*x{GLOB}}, "*main::STDOUT");
     my $a = "SYM000";
     ok(!defined *{$a});
 
-    ok(!defined @{$a});
+    {
+       no warnings 'deprecated';
+       ok(!defined @{$a});
+    }
     ok(!defined *{$a});
 
     {
index f84f6e2..7867095 100644 (file)
@@ -172,7 +172,10 @@ is(A->eee(), "new B: In A::eee, 4");       # Which sticks
 
 {
     no strict 'refs';
+    no warnings 'deprecated';
     # this test added due to bug discovery (in 5.004_04, fb73857aa0bfa8ed)
+    # Possibly kill this test now that defined @::array is finally properly
+    # deprecated?
     is(defined(@{"unknown_package::ISA"}) ? "defined" : "undefined", "undefined");
 }
 
index ec8d832..eafa6db 100644 (file)
@@ -44,14 +44,17 @@ ok !defined($ary{'bar'});
 undef $ary{'foo'};
 ok !defined($ary{'foo'});
 
-ok defined(@ary);
 {
     no warnings 'deprecated';
+    ok defined(@ary);
     ok defined(%ary);
 }
 ok %ary;
 undef @ary;
-ok !defined(@ary);
+{
+    no warnings 'deprecated';
+    ok !defined(@ary);
+}
 undef %ary;
 {
     no warnings 'deprecated';
@@ -59,7 +62,10 @@ undef %ary;
 }
 ok !%ary;
 @ary = (1);
-ok defined @ary;
+{
+    no warnings 'deprecated';
+    ok defined @ary;
+}
 %ary = (1,1);
 {
     no warnings 'deprecated';
index bd1fee1..f128ec5 100644 (file)
@@ -194,7 +194,10 @@ is (*{*Ẋ{GLOB}}, "*main::STDOUT");
     my $a = "Sʎm000";
     ok(!defined *{$a});
 
-    ok(!defined @{$a});
+    {
+       no warnings 'deprecated';
+       ok(!defined @{$a});
+    }
     ok(!defined *{$a});
 
     {