Add another MOOSE_TEST_MD option, MooseX
[gitmo/Moose.git] / t / cmop / metaclass_loads_classes.t
CommitLineData
38bf2a25 1use strict;
2use warnings;
3
4use FindBin;
5use File::Spec::Functions;
6
7use Test::More;
8
b5ae7c00 9use Class::Load qw(is_class_loaded);
38bf2a25 10
11use lib catdir($FindBin::Bin, 'lib');
12
13{
14 package Foo;
15
16 use strict;
17 use warnings;
18
19 use metaclass 'MyMetaClass' => (
20 'attribute_metaclass' => 'MyMetaClass::Attribute',
21 'instance_metaclass' => 'MyMetaClass::Instance',
22 'method_metaclass' => 'MyMetaClass::Method',
23 'random_metaclass' => 'MyMetaClass::Random',
24 );
25}
26
27my $meta = Foo->meta;
28
29isa_ok($meta, 'MyMetaClass', '... Correct metaclass');
b5ae7c00 30ok(is_class_loaded('MyMetaClass'), '... metaclass loaded');
38bf2a25 31
32is($meta->attribute_metaclass, 'MyMetaClass::Attribute', '... Correct attribute metaclass');
b5ae7c00 33ok(is_class_loaded('MyMetaClass::Attribute'), '... attribute metaclass loaded');
38bf2a25 34
35is($meta->instance_metaclass, 'MyMetaClass::Instance', '... Correct instance metaclass');
b5ae7c00 36ok(is_class_loaded('MyMetaClass::Instance'), '... instance metaclass loaded');
38bf2a25 37
38is($meta->method_metaclass, 'MyMetaClass::Method', '... Correct method metaclass');
b5ae7c00 39ok(is_class_loaded('MyMetaClass::Method'), '... method metaclass loaded');
38bf2a25 40
41done_testing;