Remove shebangs from tests.
[gitmo/Class-MOP.git] / t / 082_get_code_info.t
1 use strict;
2 use warnings;
3
4 use Test::More;
5
6 BEGIN {
7     $^P &= ~0x200; # Don't munger anonymous sub names
8     if ( eval 'use Sub::Name qw(subname); 1;' ) {
9         plan tests => 5;
10     }
11     else {
12         plan skip_all => 'These tests require Sub::Name';
13     }
14 }
15
16 BEGIN { use_ok("Class::MOP") }
17
18
19 sub code_name_is ($$$;$) {
20     my ( $code, $stash, $name, $desc ) = @_;
21     $desc ||= "sub name is ${stash}::$name";
22
23     is_deeply(
24         [ Class::MOP::get_code_info($code) ],
25         [ $stash, $name ],
26         $desc,
27     );
28 }
29
30 code_name_is( sub {}, main => "__ANON__" );
31
32 code_name_is( subname("Foo::bar", sub {}), Foo => "bar" );
33
34 code_name_is( subname("", sub {}), "main" => "" );
35
36 require Class::MOP::Method;
37 code_name_is( \&Class::MOP::Method::name, "Class::MOP::Method", "name" );
38