Commit | Line | Data |
423ea917 |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use Test::More 'no_plan'; |
7 | |
8 | BEGIN { use_ok("Class::MOP") } |
9 | |
10 | use Sub::Name qw(subname); |
11 | |
12 | sub code_name_is ($$$;$) { |
13 | my ( $code, $stash, $name, $desc ) = @_; |
14 | $desc ||= "sub name is ${stash}::$name"; |
15 | |
16 | is_deeply( |
17 | [ Class::MOP::get_code_info($code) ], |
18 | [ $stash, $name ], |
19 | $desc, |
20 | ); |
21 | } |
22 | |
23 | code_name_is( sub {}, main => "__ANON__" ); |
24 | |
25 | code_name_is( subname("Foo::bar", sub {}), Foo => "bar" ); |
26 | |
27 | code_name_is( subname("", sub {}), "main" => "" ); |
28 | |
29 | require Class::MOP::Method; |
30 | code_name_is( \&Class::MOP::Method::name, "Class::MOP::Method", "name" ); |
31 | |