Fix many
[gitmo/Mouse.git] / t / 010_basics / 018_methods.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 6;
7
8
9 my $test1 = Mouse::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;
14
15 ok( $t1_am, 'associated_metaclass is defined' );
16
17 isa_ok(
18     $t1_am, 'Mouse::Meta::Class',
19     'associated_metaclass is correct class'
20 );
21
22 like( $t1_am->name(), qr/::__ANON__::/,
23     'associated_metaclass->name looks like an anonymous class' );
24
25 {
26     package Test2;
27
28     use Mouse;
29
30     sub foo2 { }
31 }
32
33 my $t2    = Test2->new;
34 my $t2_am = $t2->meta->get_method('foo2')->associated_metaclass;
35
36 ok( $t2_am, 'associated_metaclass is defined' );
37
38 isa_ok(
39     $t2_am, 'Mouse::Meta::Class',
40     'associated_metaclass is correct class'
41 );
42
43 is( $t2_am->name(), 'Test2',
44     'associated_metaclass->name is Test2' );