summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2010-09-18 20:15:21 -0500
committerJesse Luehrs <doy@tozt.net>2010-09-18 20:15:21 -0500
commit44726d1abdc534e4ac6ddfc6d91d245c8dc0ebc7 (patch)
tree4706f0935996229d1fbc8387b500670f2f8edaf0 /t
parentdc7dc3b9c67d63479e0aef011b1450ac359587b9 (diff)
downloadpackage-stash-44726d1abdc534e4ac6ddfc6d91d245c8dc0ebc7.tar.gz
package-stash-44726d1abdc534e4ac6ddfc6d91d245c8dc0ebc7.zip
revert the vivication changes for now, i didn't mean to release them
Diffstat (limited to 't')
-rw-r--r--t/04-get.t160
-rw-r--r--t/05-isa.t2
2 files changed, 14 insertions, 148 deletions
diff --git a/t/04-get.t b/t/04-get.t
index 3176ed1..ebeb864 100644
--- a/t/04-get.t
+++ b/t/04-get.t
@@ -7,194 +7,60 @@ use Package::Stash;
{
BEGIN {
- my $stash = Package::Stash->new('Hash');
+ my $stash = Package::Stash->new('Foo');
my $val = $stash->get_package_symbol('%foo');
is($val, undef, "got nothing yet");
}
{
no warnings 'void', 'once';
- %Hash::foo;
+ %Foo::foo;
}
BEGIN {
- my $stash = Package::Stash->new('Hash');
+ my $stash = Package::Stash->new('Foo');
my $val = $stash->get_package_symbol('%foo');
is(ref($val), 'HASH', "got something");
$val->{bar} = 1;
is_deeply($stash->get_package_symbol('%foo'), {bar => 1},
- "got the right variable");
- is_deeply(\%Hash::foo, {bar => 1},
- "stash has the right variable");
+ "got the right variable");
}
}
{
BEGIN {
- my $stash = Package::Stash->new('Array');
+ my $stash = Package::Stash->new('Bar');
my $val = $stash->get_package_symbol('@foo');
- is($val, undef, "got nothing yet");
+ is($val, undef, "got something");
}
{
no warnings 'void', 'once';
- @Array::foo;
+ @Bar::foo;
}
BEGIN {
- my $stash = Package::Stash->new('Array');
+ my $stash = Package::Stash->new('Bar');
my $val = $stash->get_package_symbol('@foo');
is(ref($val), 'ARRAY', "got something");
push @$val, 1;
is_deeply($stash->get_package_symbol('@foo'), [1],
- "got the right variable");
- is_deeply(\@Array::foo, [1],
- "stash has the right variable");
- }
-}
-
-{
- BEGIN {
- my $stash = Package::Stash->new('Scalar');
- my $val = $stash->get_package_symbol('$foo');
- is($val, undef, "got nothing yet");
- }
- {
- no warnings 'void', 'once';
- $Scalar::foo;
- }
- BEGIN {
- my $stash = Package::Stash->new('Scalar');
- my $val = $stash->get_package_symbol('$foo');
- is(ref($val), 'SCALAR', "got something");
- $$val = 1;
- is_deeply($stash->get_package_symbol('$foo'), \1,
- "got the right variable");
- is($Scalar::foo, 1,
- "stash has the right variable");
+ "got the right variable");
}
}
{
- BEGIN {
- my $stash = Package::Stash->new('Io');
- my $val = $stash->get_package_symbol('FOO');
- is($val, undef, "got nothing yet");
- }
- {
- no warnings 'void', 'once';
- package Io;
- fileno(FOO);
- }
- BEGIN {
- my $stash = Package::Stash->new('Io');
- my $val = $stash->get_package_symbol('FOO');
- isa_ok($val, 'IO');
- my $str = "foo";
- open $val, '<', \$str;
- is(readline($stash->get_package_symbol('FOO')), "foo",
- "got the right variable");
- seek($stash->get_package_symbol('FOO'), 0, 0);
- {
- package Io;
- ::isa_ok(*FOO{IO}, 'IO');
- ::is(<FOO>, "foo",
- "stash has the right variable");
- }
- }
-}
-
-TODO: {
- # making TODO tests at a mixture of BEGIN and runtime is irritating
- my $_TODO;
- BEGIN { $_TODO = "obviously I don't understand this well enough"; }
- BEGIN { $TODO = $_TODO; }
- $TODO = $_TODO;
- BEGIN {
- my $stash = Package::Stash->new('Code');
- my $val = $stash->get_package_symbol('&foo');
- is($val, undef, "got nothing yet");
- }
- {
- no warnings 'void', 'once';
- \&Code::foo;
- }
- BEGIN {
- my $stash = Package::Stash->new('Code');
- my $val = $stash->get_package_symbol('&foo');
- undef $TODO;
- is(ref($val), 'CODE', "got something");
- $TODO = $_TODO;
- SKIP: {
- eval "require PadWalker"
- or skip "needs PadWalker", 1;
- # avoid padwalker segfault
- if (!defined($val)) {
- fail("got the right variable");
- }
- else {
- PadWalker::set_closed_over($val, {'$x' => 1});
- is_deeply({PadWalker::closed_over($stash->get_package_symbol('&foo'))}, {'$x' => 1},
- "got the right variable");
- is_deeply({PadWalker::closed_over(\&Code::foo)}, {'$x' => 1},
- "stash has the right variable");
- }
- }
- }
- BEGIN { undef $TODO; }
- undef $TODO;
-}
-
-{
- my $stash = Package::Stash->new('Hash::Vivify');
+ 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");
- no warnings 'once';
- is_deeply(\%Hash::Vivify::foo, {bar => 1},
- "stash has the right variable");
+ "got the right variable");
}
{
- my $stash = Package::Stash->new('Array::Vivify');
+ 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");
- no warnings 'once';
- is_deeply(\@Array::Vivify::foo, [1],
- "stash has the right variable");
-}
-
-{
- my $stash = Package::Stash->new('Scalar::Vivify');
- my $val = $stash->get_or_add_package_symbol('$foo');
- is(ref($val), 'SCALAR', "got something");
- $$val = 1;
- is_deeply($stash->get_or_add_package_symbol('$foo'), \1,
- "got the right variable");
- no warnings 'once';
- is($Scalar::Vivify::foo, 1,
- "stash has the right variable");
-}
-
-{
- BEGIN {
- my $stash = Package::Stash->new('Io::Vivify');
- my $val = $stash->get_or_add_package_symbol('FOO');
- isa_ok($val, 'IO');
- my $str = "foo";
- open $val, '<', \$str;
- is(readline($stash->get_package_symbol('FOO')), "foo",
- "got the right variable");
- seek($stash->get_package_symbol('FOO'), 0, 0);
- }
- {
- package Io::Vivify;
- no warnings 'once';
- ::isa_ok(*FOO{IO}, 'IO');
- ::is(<FOO>, "foo",
- "stash has the right variable");
- }
+ "got the right variable");
}
done_testing;
diff --git a/t/05-isa.t b/t/05-isa.t
index 0b41b72..3198fb1 100644
--- a/t/05-isa.t
+++ b/t/05-isa.t
@@ -15,7 +15,7 @@ use Package::Stash;
my $stash = Package::Stash->new('Foo');
my @ISA = ('Bar');
-@{$stash->get_or_add_package_symbol('@ISA')} = @ISA;
+@{$stash->get_package_symbol('@ISA')} = @ISA;
isa_ok('Foo', 'Bar');
done_testing;