summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2010-11-11 19:43:04 -0600
committerJesse Luehrs <doy@tozt.net>2010-11-11 19:43:04 -0600
commit25c87f5c26ea1057a28acd82fc734aad9c4360dd (patch)
tree5dca90fa9a72eed9d8cbc0dfb4623bbae70d17a3 /t
parentdc378b60e595186cddf0b2ce35da3e6749022770 (diff)
downloadpackage-stash-25c87f5c26ea1057a28acd82fc734aad9c4360dd.tar.gz
package-stash-25c87f5c26ea1057a28acd82fc734aad9c4360dd.zip
fix some edge cases
Diffstat (limited to 't')
-rwxr-xr-xt/07-edge-cases.t35
1 files changed, 35 insertions, 0 deletions
diff --git a/t/07-edge-cases.t b/t/07-edge-cases.t
new file mode 100755
index 0000000..85944d5
--- /dev/null
+++ b/t/07-edge-cases.t
@@ -0,0 +1,35 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+use Package::Stash;
+
+{
+ package Foo;
+ use constant FOO => 1;
+ use constant BAR => \1;
+ use constant BAZ => [];
+ use constant QUUX => {};
+ use constant QUUUX => sub { };
+ sub normal { }
+ sub stub;
+ sub normal_with_proto () { }
+ sub stub_with_proto ();
+
+ our $SCALAR;
+ our @ARRAY;
+ our %HASH;
+}
+
+my $stash = Package::Stash->new('Foo');
+ok($stash->has_package_symbol('$SCALAR'), '$SCALAR');
+ok($stash->has_package_symbol('@ARRAY'), '@ARRAY');
+ok($stash->has_package_symbol('%HASH'), '%HASH');
+is_deeply(
+ [sort $stash->list_all_package_symbols('CODE')],
+ [qw(BAR BAZ FOO QUUUX QUUX normal normal_with_proto stub stub_with_proto)],
+ "can see all code symbols"
+);
+
+done_testing;