Change 27495 by [EMAIL PROTECTED] on 2006/03/14 09:55:17
Subject: [perl #38710] localised stash slice
From: Hugo van der Sanden (via RT) <[EMAIL PROTECTED]>
Date: Sat, 11 Mar 2006 02:47:56 -0800
Message-ID: <[EMAIL PROTECTED]>
(new TODO tests)
Affected files ...
... //depot/perl/t/op/local.t#28 edit
Differences ...
==== //depot/perl/t/op/local.t#28 (xtext) ====
Index: perl/t/op/local.t
--- perl/t/op/local.t#27~26835~ 2006-01-13 11:31:19.000000000 -0800
+++ perl/t/op/local.t 2006-03-14 01:55:17.000000000 -0800
@@ -4,7 +4,7 @@
chdir 't' if -d 't';
require './test.pl';
}
-plan tests => 87;
+plan tests => 95;
my $list_assignment_supported = 1;
@@ -342,3 +342,31 @@
sub f { ok(0 == $[); }
+# sub localisation
+{
+ package Other;
+
+ sub f1 { "f1" }
+ sub f2 { "f2" }
+
+ no warnings "redefine";
+ {
+ local *f1 = sub { "g1" };
+ ::ok(f1() eq "g1", "localised sub via glob");
+ }
+ ::ok(f1() eq "f1", "localised sub restored");
+ {
+ local $Other::{"f1"} = sub { "h1" };
+ ::ok(f1() eq "h1", "localised sub via stash");
+ }
+ ::ok(f1() eq "f1", "localised sub restored");
+ {
+ local @Other::{qw/ f1 f2 /} = (sub { "j1" }, sub { "j2" });
+ local $::TODO = "localisation of stash slice not working";
+ ::ok(f1() eq "j1", "localised sub via stash slice");
+ ::ok(f2() eq "j2", "localised sub via stash slice");
+ undef $::TODO;
+ }
+ ::ok(f1() eq "f1", "localised sub restored");
+ ::ok(f2() eq "f2", "localised sub restored");
+}
End of Patch.