From abe3605b9e63d97458ea495347501b5696ec2bc8 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 29 Nov 2011 02:55:11 -0600 Subject: sync impl-selection tests --- t/impl-selection/basic-pp.t | 22 ++++++++++++++++++++++ t/impl-selection/basic-xs.t | 22 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/t/impl-selection/basic-pp.t b/t/impl-selection/basic-pp.t index 398f383..086368e 100644 --- a/t/impl-selection/basic-pp.t +++ b/t/impl-selection/basic-pp.t @@ -256,6 +256,8 @@ is($foo_stash->get_symbol('@foo'), $ARRAY, '... got the right values for @Foo::f { $foo_stash->add_symbol('%zork'); + ok(!$foo_stash->has_symbol('$zork'), + "add_symbol with single argument doesn't vivify scalar slot"); my $syms = $foo_stash->get_all_symbols('HASH'); @@ -421,4 +423,24 @@ like(exception { ); } +for my $package ('Foo:Bar', 'Foo/Bar', 'Foo Bar', 'Foo:::Bar', '') { + like( + exception { Package::Stash->new($package) }, + qr/^$package is not a module name/, + "$package is not a module name" + ); +} + +like( + exception { Package::Stash->new([]) }, + qr/^Package::Stash->new must be passed the name of the package to access/, + "module name must be a string" +); + +like( + exception { Package::Stash->new(undef) }, + qr/^Package::Stash->new must be passed the name of the package to access/, + "module name must be a string" +); + done_testing; diff --git a/t/impl-selection/basic-xs.t b/t/impl-selection/basic-xs.t index 0fe2aa3..8a1b40b 100644 --- a/t/impl-selection/basic-xs.t +++ b/t/impl-selection/basic-xs.t @@ -257,6 +257,8 @@ is($foo_stash->get_symbol('@foo'), $ARRAY, '... got the right values for @Foo::f { $foo_stash->add_symbol('%zork'); + ok(!$foo_stash->has_symbol('$zork'), + "add_symbol with single argument doesn't vivify scalar slot"); my $syms = $foo_stash->get_all_symbols('HASH'); @@ -422,4 +424,24 @@ like(exception { ); } +for my $package ('Foo:Bar', 'Foo/Bar', 'Foo Bar', 'Foo:::Bar', '') { + like( + exception { Package::Stash->new($package) }, + qr/^$package is not a module name/, + "$package is not a module name" + ); +} + +like( + exception { Package::Stash->new([]) }, + qr/^Package::Stash->new must be passed the name of the package to access/, + "module name must be a string" +); + +like( + exception { Package::Stash->new(undef) }, + qr/^Package::Stash->new must be passed the name of the package to access/, + "module name must be a string" +); + done_testing; -- cgit v1.2.3