diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-01-04 02:49:47 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-01-04 02:49:47 -0600 |
commit | b6a64d546b32da81d5a23e3df0ef47ffc6ed07b5 (patch) | |
tree | 1d8a4f84ed05579df1ce76516d55be2f3b71b7a3 | |
parent | 5045a43150c39834acc8950f849fe05b235bbdd3 (diff) | |
download | package-stash-b6a64d546b32da81d5a23e3df0ef47ffc6ed07b5.tar.gz package-stash-b6a64d546b32da81d5a23e3df0ef47ffc6ed07b5.zip |
sync tests
-rw-r--r-- | xt/author/leaks-debug.t | 46 | ||||
-rw-r--r-- | xt/author/leaks.t | 44 |
2 files changed, 79 insertions, 11 deletions
diff --git a/xt/author/leaks-debug.t b/xt/author/leaks-debug.t index 7435318..686a96e 100644 --- a/xt/author/leaks-debug.t +++ b/xt/author/leaks-debug.t @@ -45,18 +45,28 @@ use Symbol; my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->name; + } "name accessor doesn't leak"; + no_leaks_ok { $foo->namespace; - } "accessors don't leak"; + } "namespace accessor doesn't leak"; } { my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->add_symbol('$scalar'); + } "add_symbol scalar with no initializer doesn't leak"; + no_leaks_ok { $foo->add_symbol('@array'); + } "add_symbol array with no initializer doesn't leak"; + no_leaks_ok { $foo->add_symbol('%hash'); + } "add_symbol hash with no initializer doesn't leak"; + { local $TODO = "not sure why this leaks"; + no_leaks_ok { $foo->add_symbol('io'); - } "add_symbol doesn't leak"; + } "add_symbol io with no initializer doesn't leak"; + } } { @@ -85,11 +95,19 @@ use Symbol; my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->remove_symbol('$scalar_init'); + } "remove_symbol scalar doesn't leak"; + no_leaks_ok { $foo->remove_symbol('@array_init'); + } "remove_symbol array doesn't leak"; + no_leaks_ok { $foo->remove_symbol('%hash_init'); + } "remove_symbol hash doesn't leak"; + no_leaks_ok { $foo->remove_symbol('&code_init'); + } "remove_symbol code doesn't leak"; + no_leaks_ok { $foo->remove_symbol('io_init'); - } "remove_symbol doesn't leak"; + } "remove_symbol io doesn't leak"; } { @@ -104,22 +122,38 @@ use Symbol; my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->has_symbol('io'); + } "has_symbol io doesn't leak"; + no_leaks_ok { $foo->has_symbol('%hash'); + } "has_symbol hash doesn't leak"; + no_leaks_ok { $foo->has_symbol('@array_init'); + } "has_symbol array doesn't leak"; + no_leaks_ok { $foo->has_symbol('$glob'); + } "has_symbol nonexistent scalar doesn't leak"; + no_leaks_ok { $foo->has_symbol('&something_else'); - } "has_symbol doesn't leak"; + } "has_symbol nonexistent code doesn't leak"; } { my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->get_symbol('io'); + } "get_symbol io doesn't leak"; + no_leaks_ok { $foo->get_symbol('%hash'); + } "get_symbol hash doesn't leak"; + no_leaks_ok { $foo->get_symbol('@array_init'); + } "get_symbol array doesn't leak"; + no_leaks_ok { $foo->get_symbol('$glob'); + } "get_symbol nonexistent scalar doesn't leak"; + no_leaks_ok { $foo->get_symbol('&something_else'); - } "get_symbol doesn't leak"; + } "get_symbol nonexistent code doesn't leak"; } { @@ -189,7 +223,7 @@ use Symbol; { 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"; } diff --git a/xt/author/leaks.t b/xt/author/leaks.t index 18ec601..e3b50ab 100644 --- a/xt/author/leaks.t +++ b/xt/author/leaks.t @@ -43,18 +43,28 @@ use Symbol; my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->name; + } "name accessor doesn't leak"; + no_leaks_ok { $foo->namespace; - } "accessors don't leak"; + } "namespace accessor doesn't leak"; } { my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->add_symbol('$scalar'); + } "add_symbol scalar with no initializer doesn't leak"; + no_leaks_ok { $foo->add_symbol('@array'); + } "add_symbol array with no initializer doesn't leak"; + no_leaks_ok { $foo->add_symbol('%hash'); + } "add_symbol hash with no initializer doesn't leak"; + { local $TODO = "not sure why this leaks"; + no_leaks_ok { $foo->add_symbol('io'); - } "add_symbol doesn't leak"; + } "add_symbol io with no initializer doesn't leak"; + } } { @@ -83,11 +93,19 @@ use Symbol; my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->remove_symbol('$scalar_init'); + } "remove_symbol scalar doesn't leak"; + no_leaks_ok { $foo->remove_symbol('@array_init'); + } "remove_symbol array doesn't leak"; + no_leaks_ok { $foo->remove_symbol('%hash_init'); + } "remove_symbol hash doesn't leak"; + no_leaks_ok { $foo->remove_symbol('&code_init'); + } "remove_symbol code doesn't leak"; + no_leaks_ok { $foo->remove_symbol('io_init'); - } "remove_symbol doesn't leak"; + } "remove_symbol io doesn't leak"; } { @@ -102,22 +120,38 @@ use Symbol; my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->has_symbol('io'); + } "has_symbol io doesn't leak"; + no_leaks_ok { $foo->has_symbol('%hash'); + } "has_symbol hash doesn't leak"; + no_leaks_ok { $foo->has_symbol('@array_init'); + } "has_symbol array doesn't leak"; + no_leaks_ok { $foo->has_symbol('$glob'); + } "has_symbol nonexistent scalar doesn't leak"; + no_leaks_ok { $foo->has_symbol('&something_else'); - } "has_symbol doesn't leak"; + } "has_symbol nonexistent code doesn't leak"; } { my $foo = Package::Stash->new('Foo'); no_leaks_ok { $foo->get_symbol('io'); + } "get_symbol io doesn't leak"; + no_leaks_ok { $foo->get_symbol('%hash'); + } "get_symbol hash doesn't leak"; + no_leaks_ok { $foo->get_symbol('@array_init'); + } "get_symbol array doesn't leak"; + no_leaks_ok { $foo->get_symbol('$glob'); + } "get_symbol nonexistent scalar doesn't leak"; + no_leaks_ok { $foo->get_symbol('&something_else'); - } "get_symbol doesn't leak"; + } "get_symbol nonexistent code doesn't leak"; } { |