summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-07-10 17:44:11 -0500
committerJesse Luehrs <doy@tozt.net>2012-07-10 17:44:11 -0500
commitdf62307a1ff48a0015984903995e4c51b3498c0a (patch)
tree7c0e8930842c5452bb2607ffb7bd639e9958a429 /t
parentd18c45ab55eb68cdc87ce76cae419fbacc0174d7 (diff)
downloadpackage-stash-df62307a1ff48a0015984903995e4c51b3498c0a.tar.gz
package-stash-df62307a1ff48a0015984903995e4c51b3498c0a.zip
sync tests
Diffstat (limited to 't')
-rw-r--r--t/anon-basic.t41
1 files changed, 27 insertions, 14 deletions
diff --git a/t/anon-basic.t b/t/anon-basic.t
index fc26f12..2b7575c 100644
--- a/t/anon-basic.t
+++ b/t/anon-basic.t
@@ -272,13 +272,17 @@ like(exception {
is_deeply([Package::Stash->new('Foo')->list_all_symbols], [],
"Foo:: isn't touched");
+# *{ $Quux->{foo} } = \23 doesn't work on 5.12 and lower, apparently
my $Quux = Package::Anon->new('Quux');
-$Quux->{foo} = *{ Symbol::gensym() };
-*{ $Quux->{foo} } = \23;
-*{ $Quux->{foo} } = ["bar"];
-*{ $Quux->{foo} } = { baz => 1 };
-*{ $Quux->{foo} } = sub { };
-*{ $Quux->{foo} } = *{ Symbol::geniosym() }{IO};
+{
+ my $gv = Symbol::gensym;
+ *$gv = \23;
+ *$gv = ["bar"];
+ *$gv = { baz => 1 };
+ *$gv = sub { };
+ *$gv = *{ Symbol::geniosym() }{IO};
+ $Quux->{foo} = *$gv;
+}
{
my $stash = Package::Stash->new($Quux);
@@ -329,16 +333,25 @@ is_deeply([Package::Stash->new('Quux')->list_all_symbols], [],
my $Quuux = Package::Anon->new('Quuux');
-$Quuux->{foo} = *{ Symbol::gensym() };
-*{ $Quuux->{foo} } = \(my $scalar);
-*{ $Quuux->{foo} } = [];
+{
+ my $gv = Symbol::gensym;
+ *$gv = \(my $scalar);
+ *$gv = [];
+ $Quuux->{foo} = *$gv;
+}
-$Quuux->{bar} = *{ Symbol::gensym() };
-*{ $Quuux->{bar} } = [];
+{
+ my $gv = Symbol::gensym;
+ *$gv = [];
+ $Quuux->{bar} = *$gv;
+}
-$Quuux->{baz} = *{ Symbol::gensym() };
-*{ $Quuux->{baz} } = {};
-*{ $Quuux->{baz} } = sub { };
+{
+ my $gv = Symbol::gensym;
+ *$gv = {};
+ *$gv = sub { };
+ $Quuux->{baz} = *$gv;
+}
$Quuux->{quux} = \1;