9 $^P &= ~0x200; # Don't munger anonymous sub names
10 if ( eval 'use Sub::Name qw(subname); 1;' ) {
14 plan skip_all => 'These tests require Sub::Name';
18 BEGIN { use_ok("Class::MOP") }
21 sub code_name_is ($$$;$) {
22 my ( $code, $stash, $name, $desc ) = @_;
23 $desc ||= "sub name is ${stash}::$name";
26 [ Class::MOP::get_code_info($code) ],
32 code_name_is( sub {}, main => "__ANON__" );
34 code_name_is( subname("Foo::bar", sub {}), Foo => "bar" );
36 code_name_is( subname("", sub {}), "main" => "" );
38 require Class::MOP::Method;
39 code_name_is( \&Class::MOP::Method::name, "Class::MOP::Method", "name" );