Remove the "Maintainance" section from the pod.
[gitmo/Mouse.git] / t / 053-extends-meta.t
CommitLineData
8d40c3b8 1#!/usr/bin/env perl
2use strict;
3use warnings;
4use Test::More tests => 12;
5use Test::Exception;
6{
7 package My::Meta::Class;
8 use Mouse;
9 extends 'Mouse::Meta::Class';
10
11 has my_class_attr => (
12 is => 'rw',
13 default => 42,
14 );
15 package My::Meta::Role;
16 use Mouse;
17 extends 'Mouse::Meta::Role';
18
19 has my_role_attr => (
20 is => 'rw',
21 default => 43,
22 );
23 package My::Meta::Attribute;
24 use Mouse;
25 extends 'Mouse::Meta::Attribute';
26
27 has my_attr_attr => (
28 is => 'rw',
29 default => 44,
30 );
31}
32
33my $meta = My::Meta::Class->initialize('Foo');
34isa_ok $meta, 'My::Meta::Class';
35can_ok $meta, qw(name my_class_attr);
36is $meta->name, 'Foo';
37lives_and{
38 is $meta->my_class_attr, 42;
39};
40
41$meta = My::Meta::Role->initialize('Bar');
42isa_ok $meta, 'My::Meta::Role';
43can_ok $meta, qw(name my_role_attr);
44is $meta->name, 'Bar';
45lives_and{
46 is $meta->my_role_attr, 43;
47};
48
49$meta = My::Meta::Attribute->new('baz');
50isa_ok $meta, 'My::Meta::Attribute';
51can_ok $meta, qw(name my_attr_attr);
52is $meta->name, 'baz';
53lives_and{
54 is $meta->my_attr_attr, 44;
55};
56