Switched to EUMM with compiler detection (from Params::Validate, which
[gitmo/Class-MOP.git] / t / 082_get_code_info.t
CommitLineData
423ea917 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
6use Test::More 'no_plan';
7
8BEGIN { use_ok("Class::MOP") }
9
10use Sub::Name qw(subname);
11
12sub 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
23code_name_is( sub {}, main => "__ANON__" );
24
25code_name_is( subname("Foo::bar", sub {}), Foo => "bar" );
26
27code_name_is( subname("", sub {}), "main" => "" );
28
29require Class::MOP::Method;
30code_name_is( \&Class::MOP::Method::name, "Class::MOP::Method", "name" );
31