From e55803fce07b2fda98971fcb17698eef8a2fe4bb Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 13 Jun 2010 11:55:28 -0500 Subject: add get_or_add_package_symbol, for the vivify behavior --- t/004-get.t | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 't') diff --git a/t/004-get.t b/t/004-get.t index 89d7567..ebeb864 100644 --- a/t/004-get.t +++ b/t/004-get.t @@ -45,4 +45,22 @@ use Package::Stash; } } +{ + my $stash = Package::Stash->new('Baz'); + my $val = $stash->get_or_add_package_symbol('%foo'); + is(ref($val), 'HASH', "got something"); + $val->{bar} = 1; + is_deeply($stash->get_or_add_package_symbol('%foo'), {bar => 1}, + "got the right variable"); +} + +{ + my $stash = Package::Stash->new('Quux'); + my $val = $stash->get_or_add_package_symbol('@foo'); + is(ref($val), 'ARRAY', "got something"); + push @$val, 1; + is_deeply($stash->get_or_add_package_symbol('@foo'), [1], + "got the right variable"); +} + done_testing; -- cgit v1.2.3-54-g00ecf