Commit | Line | Data |
b4d1723e |
1 | #!perl |
2 | use strict; |
3 | use warnings; |
4 | |
4f21a0b3 |
5 | use Test::More; |
b4d1723e |
6 | |
7 | { |
8 | package Foo; |
9 | use Mouse; |
10 | |
11 | sub code { 42 } |
12 | |
13 | our $scalar = 'bar'; |
14 | |
15 | our %hash = (a => 'b'); |
16 | |
17 | our @array = ('foo'); |
18 | } |
19 | |
20 | my $meta = Foo->meta; |
21 | |
4f21a0b3 |
22 | foreach my $sym(qw(&code $scalar %hash @array)){ |
b4d1723e |
23 | ok $meta->has_package_symbol($sym), "has_package_symbol('$sym')"; |
24 | } |
25 | |
26 | ok !$meta->has_package_symbol('$hogehoge'); |
27 | ok !$meta->has_package_symbol('%array'); |
28 | |
29 | is $meta->get_package_symbol('&code'), \&Foo::code; |
30 | is $meta->get_package_symbol('$scalar'), \$Foo::scalar; |
31 | is $meta->get_package_symbol('%hash'), \%Foo::hash; |
32 | is $meta->get_package_symbol('@array'), \@Foo::array; |
b4d1723e |
33 | |
4f21a0b3 |
34 | is $meta->get_package_symbol('@hogehoge'), undef; |
b4d1723e |
35 | is $meta->get_package_symbol('%array'), undef; |
4f21a0b3 |
36 | is $meta->get_package_symbol('&hash'), undef; |
b4d1723e |
37 | |
4f21a0b3 |
38 | done_testing; |