Commit | Line | Data |
96245b5a |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
19f02ab1 |
6 | use Test::More tests => 6; |
96245b5a |
7 | |
8 | |
9 | my $test1 = Moose::Meta::Class->create_anon_class; |
10 | $test1->add_method( 'foo1', sub { } ); |
11 | |
12 | my $t1 = $test1->new_object; |
13 | my $t1_am = $t1->meta->get_method('foo1')->associated_metaclass; |
19f02ab1 |
14 | |
96245b5a |
15 | ok( $t1_am, 'associated_metaclass is defined' ); |
19f02ab1 |
16 | |
96245b5a |
17 | isa_ok( |
18 | $t1_am, 'Moose::Meta::Class', |
19 | 'associated_metaclass is correct class' |
20 | ); |
21 | |
19f02ab1 |
22 | like( $t1_am->name(), qr/::__ANON__::/, |
23 | 'associated_metaclass->name looks like an anonymous class' ); |
24 | |
96245b5a |
25 | { |
26 | |
27 | package Test2; |
28 | |
29 | use Moose; |
30 | |
31 | sub foo2 { } |
32 | } |
33 | |
34 | my $t2 = Test2->new; |
35 | my $t2_am = $t2->meta->get_method('foo2')->associated_metaclass; |
19f02ab1 |
36 | |
96245b5a |
37 | ok( $t2_am, 'associated_metaclass is defined' ); |
38 | |
39 | isa_ok( |
40 | $t2_am, 'Moose::Meta::Class', |
41 | 'associated_metaclass is correct class' |
42 | ); |
19f02ab1 |
43 | |
44 | is( $t2_am->name(), 'Test2', |
45 | 'associated_metaclass->name is Test2' ); |