4 use Test::More tests => 14;
7 package My::Meta::Class;
9 extends 'Mouse::Meta::Class';
11 has my_class_attr => (
15 package My::Meta::Role;
17 extends 'Mouse::Meta::Role';
23 package My::Meta::Attribute;
25 extends 'Mouse::Meta::Attribute';
33 my $meta = My::Meta::Class->initialize('Foo');
34 isa_ok $meta, 'My::Meta::Class';
35 isa_ok $meta->meta, 'Mouse::Meta::Class';
36 can_ok $meta, qw(name my_class_attr);
37 is $meta->name, 'Foo';
39 is $meta->my_class_attr, 42;
42 $meta = My::Meta::Role->initialize('Bar');
43 isa_ok $meta, 'My::Meta::Role';
44 isa_ok $meta->meta, 'Mouse::Meta::Class';
45 can_ok $meta, qw(name my_role_attr);
46 is $meta->name, 'Bar';
48 is $meta->my_role_attr, 43;
51 $meta = My::Meta::Attribute->new('baz');
52 isa_ok $meta, 'My::Meta::Attribute';
53 can_ok $meta, qw(name my_attr_attr);
54 is $meta->name, 'baz';
56 is $meta->my_attr_attr, 44;