got rid of all the use_ok junk except for 000_load.t
[gitmo/Class-MOP.git] / t / 045_metaclass_loads_classes.t
CommitLineData
f2266181 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
6use FindBin;
7use File::Spec::Functions;
8
efd3d14c 9use Test::More tests => 8;
f2266181 10
efd3d14c 11use Class::MOP;
f2266181 12
13use lib catdir($FindBin::Bin, 'lib');
14
15{
16 package Foo;
17
18 use strict;
19 use warnings;
20
21 use metaclass 'MyMetaClass' => (
22 'attribute_metaclass' => 'MyMetaClass::Attribute',
23 'instance_metaclass' => 'MyMetaClass::Instance',
24 'method_metaclass' => 'MyMetaClass::Method',
25 'random_metaclass' => 'MyMetaClass::Random',
26 );
27}
28
29my $meta = Foo->meta;
30
31isa_ok($meta, 'MyMetaClass', '... Correct metaclass');
32ok(Class::MOP::is_class_loaded('MyMetaClass'), '... metaclass loaded');
33
34is($meta->attribute_metaclass, 'MyMetaClass::Attribute', '... Correct attribute metaclass');
35ok(Class::MOP::is_class_loaded('MyMetaClass::Attribute'), '... attribute metaclass loaded');
36
37is($meta->instance_metaclass, 'MyMetaClass::Instance', '... Correct instance metaclass');
38ok(Class::MOP::is_class_loaded('MyMetaClass::Instance'), '... instance metaclass loaded');
39
40is($meta->method_metaclass, 'MyMetaClass::Method', '... Correct method metaclass');
41ok(Class::MOP::is_class_loaded('MyMetaClass::Method'), '... method metaclass loaded');