From d259e270103f4add38933c54a77e01c3a7c7d832 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 3 Jan 2013 20:07:17 -0600 Subject: sync tests --- t/anon-basic.t | 5 ++++- t/bare-anon-basic.t | 5 ++++- t/basic.t | 5 ++++- t/edge-cases.t | 6 ++++++ xt/author/leaks-debug.t | 10 +--------- xt/author/leaks.t | 12 ++---------- 6 files changed, 21 insertions(+), 22 deletions(-) diff --git a/t/anon-basic.t b/t/anon-basic.t index 2b7575c..32f5c9c 100644 --- a/t/anon-basic.t +++ b/t/anon-basic.t @@ -246,7 +246,10 @@ ok(defined(*{ $Foo->{foo} }{ARRAY}), '... the @foo slot has NOT been removed'); is_deeply( $syms, - { zork => *{ $Foo->{zork} }{HASH} }, + { + zork => *{ $Foo->{zork} }{HASH}, + bare => *{ $Foo->{bare} }{HASH}, + }, "got the right ones", ); } diff --git a/t/bare-anon-basic.t b/t/bare-anon-basic.t index 64451aa..5bdb523 100644 --- a/t/bare-anon-basic.t +++ b/t/bare-anon-basic.t @@ -255,7 +255,10 @@ ok(defined(*{ $Foo->{foo} }{ARRAY}), '... the @foo slot has NOT been removed'); is_deeply( $syms, - { zork => *{ $Foo->{zork} }{HASH} }, + { + zork => *{ $Foo->{zork} }{HASH}, + bare => *{ $Foo->{bare} }{HASH}, + }, "got the right ones", ); } diff --git a/t/basic.t b/t/basic.t index b0f9936..286b707 100644 --- a/t/basic.t +++ b/t/basic.t @@ -273,7 +273,10 @@ is($foo_stash->get_symbol('@foo'), $ARRAY, '... got the right values for @Foo::f is_deeply( $syms, - { zork => *{ $Foo::{zork} }{HASH} }, + { + zork => *{ $Foo::{zork} }{HASH}, + bare => *{ $Foo::{bare} }{HASH}, + }, "got the right ones", ); } diff --git a/t/edge-cases.t b/t/edge-cases.t index 49f56ed..58b819e 100755 --- a/t/edge-cases.t +++ b/t/edge-cases.t @@ -87,4 +87,10 @@ SKIP: { is($warning, undef, "no redefinition warnings"); } +{ + my $stash = Package::Stash->new('Baz'); + $stash->add_symbol('$baz', \undef); + ok($stash->has_symbol('$baz')); +} + done_testing; diff --git a/xt/author/leaks-debug.t b/xt/author/leaks-debug.t index 0b7963f..7435318 100644 --- a/xt/author/leaks-debug.t +++ b/xt/author/leaks-debug.t @@ -73,13 +73,9 @@ use Symbol; no_leaks_ok { $foo->add_symbol('&code_init' => sub { "foo" }); } "add_symbol code doesn't leak"; - { local $TODO = $Package::Stash::IMPLEMENTATION eq 'PP' - ? "the pure perl implementation leaks here somehow" - : undef; no_leaks_ok { $foo->add_symbol('io_init' => Symbol::geniosym); } "add_symbol io doesn't leak"; - } is(exception { is(Foo->code_init, 'foo', "sub installed correctly") }, undef, "code_init exists"); @@ -98,7 +94,7 @@ use Symbol; { my $foo = Package::Stash->new('Foo'); - $foo->add_symbol("${_}glob") for ('$', '@', '%', '&', ''); + $foo->add_symbol("${_}glob") for ('$', '@', '%', ''); no_leaks_ok { $foo->remove_glob('glob'); } "remove_glob doesn't leak"; @@ -191,10 +187,6 @@ use Symbol; } { - local $TODO = ($Package::Stash::IMPLEMENTATION eq 'PP' - && $Carp::VERSION ge '1.17') - ? "Carp is leaky on 5.12.2 apparently?" - : undef; my $foo = Package::Stash->new('Foo'); no_leaks_ok { eval { $foo->get_or_add_symbol('&blorg') }; diff --git a/xt/author/leaks.t b/xt/author/leaks.t index 767b4f1..18ec601 100644 --- a/xt/author/leaks.t +++ b/xt/author/leaks.t @@ -71,13 +71,9 @@ use Symbol; no_leaks_ok { $foo->add_symbol('&code_init' => sub { "foo" }); } "add_symbol code doesn't leak"; - { local $TODO = $Package::Stash::IMPLEMENTATION eq 'PP' - ? "the pure perl implementation leaks here somehow" - : undef; no_leaks_ok { $foo->add_symbol('io_init' => Symbol::geniosym); } "add_symbol io doesn't leak"; - } is(exception { is(Foo->code_init, 'foo', "sub installed correctly") }, undef, "code_init exists"); @@ -96,7 +92,7 @@ use Symbol; { my $foo = Package::Stash->new('Foo'); - $foo->add_symbol("${_}glob") for ('$', '@', '%', '&', ''); + $foo->add_symbol("${_}glob") for ('$', '@', '%', ''); no_leaks_ok { $foo->remove_glob('glob'); } "remove_glob doesn't leak"; @@ -189,13 +185,9 @@ use Symbol; } { - local $TODO = ($Package::Stash::IMPLEMENTATION eq 'PP' - && $Carp::VERSION ge '1.17') - ? "Carp is leaky on 5.12.2 apparently?" - : undef; my $foo = Package::Stash->new('Foo'); no_leaks_ok { - eval { $foo->get_or_add_symbol('&blorg') }; + eval { $foo->add_symbol('&blorg') }; } "doesn't leak on errors"; } -- cgit v1.2.3-54-g00ecf