stop using excludes within moose, since it's no longer necessary
[gitmo/Moose.git] / t / cmop / metaclass_inheritance.t
CommitLineData
38bf2a25 1use strict;
2use warnings;
3
4use Test::More;
5use Test::Fatal;
6
7use Class::MOP;
8
9=pod
10
11Test that a default set up will cause metaclasses to inherit
12the same metaclass type, but produce different metaclasses.
13
14=cut
15
16{
17 package Foo;
18 use metaclass;
19
20 package Bar;
21 use base 'Foo';
22
23 package Baz;
24 use base 'Bar';
25}
26
27my $foo_meta = Foo->meta;
28isa_ok($foo_meta, 'Class::MOP::Class');
29
30is($foo_meta->name, 'Foo', '... foo_meta->name == Foo');
31
32my $bar_meta = Bar->meta;
33isa_ok($bar_meta, 'Class::MOP::Class');
34
35is($bar_meta->name, 'Bar', '... bar_meta->name == Bar');
36isnt($bar_meta, $foo_meta, '... Bar->meta != Foo->meta');
37
38my $baz_meta = Baz->meta;
39isa_ok($baz_meta, 'Class::MOP::Class');
40
41is($baz_meta->name, 'Baz', '... baz_meta->name == Baz');
42isnt($baz_meta, $bar_meta, '... Baz->meta != Bar->meta');
43isnt($baz_meta, $foo_meta, '... Baz->meta != Foo->meta');
44
45done_testing;