From 25c87f5c26ea1057a28acd82fc734aad9c4360dd Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 11 Nov 2010 19:43:04 -0600 Subject: fix some edge cases --- t/07-edge-cases.t | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 t/07-edge-cases.t (limited to 't/07-edge-cases.t') 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; -- cgit v1.2.3-54-g00ecf