{
$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');
[qw(BEGIN bar baz foo quuuux quuux quux)],
"list_all_symbols",
);
- { local $TODO = ($] < 5.010 || $Package::Stash::IMPLEMENTATION eq 'PP')
- ? "undef scalars aren't visible on 5.8, or from pure perl at all"
+ { local $TODO = $] < 5.010
+ ? "undef scalars aren't visible on 5.8"
: undef;
is_deeply(
[sort $quuux->list_all_symbols('SCALAR')],
);
}
+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;