diff options
author | Jesse Luehrs <doy@tozt.net> | 2011-09-05 20:02:22 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2011-09-05 20:02:22 -0500 |
commit | 12b5662ca1ca213389b3d4af99f8616b2129f0cc (patch) | |
tree | 55e27ce0b0bc8573db36a22da7352a9a88f50485 | |
parent | 949492165093e3f9fc2019be296f02a503aba43f (diff) | |
download | package-stash-12b5662ca1ca213389b3d4af99f8616b2129f0cc.tar.gz package-stash-12b5662ca1ca213389b3d4af99f8616b2129f0cc.zip |
tests, and make this actually work
-rw-r--r-- | lib/Package/Stash/PP.pm | 2 | ||||
-rw-r--r-- | t/basic.t | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/lib/Package/Stash/PP.pm b/lib/Package/Stash/PP.pm index 408f3be..247a3b8 100644 --- a/lib/Package/Stash/PP.pm +++ b/lib/Package/Stash/PP.pm @@ -40,7 +40,7 @@ sub new { . "currently support anonymous stashes. You should install " . "Package::Stash::XS"; } - elsif ($package !~ /[0-9A-Z_a-z]+(?:::[0-9A-Z_a-z]+)*/) { + elsif ($package !~ /\A[0-9A-Z_a-z]+(?:::[0-9A-Z_a-z]+)*\z/) { confess "$package is not a module name"; } @@ -417,4 +417,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; |