Update Changes
[gitmo/Class-MOP.git] / t / 082_get_code_info.t
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