Commit | Line | Data |
8b978dd5 |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
fd662d66 |
6 | use Test::More tests => 8; |
8b978dd5 |
7 | |
8 | BEGIN { |
1a7ebbb3 |
9 | use_ok('Class::MOP'); |
8b978dd5 |
10 | use_ok('Class::MOP::Class'); |
11 | use_ok('Class::MOP::Attribute'); |
12 | use_ok('Class::MOP::Method'); |
fd662d66 |
13 | use_ok('Class::MOP::Instance'); |
d41e86f2 |
14 | } |
15 | |
16 | # make sure we are tracking metaclasses correctly |
17 | |
18 | my %METAS = ( |
19 | 'Class::MOP::Attribute' => Class::MOP::Attribute->meta, |
2243a22b |
20 | 'Class::MOP::Package' => Class::MOP::Package->meta, |
21 | 'Class::MOP::Module' => Class::MOP::Module->meta, |
d41e86f2 |
22 | 'Class::MOP::Class' => Class::MOP::Class->meta, |
fd662d66 |
23 | 'Class::MOP::Method' => Class::MOP::Method->meta, |
2243a22b |
24 | 'Class::MOP::Instance' => Class::MOP::Instance->meta, |
d41e86f2 |
25 | ); |
26 | |
27 | is_deeply( |
28 | { Class::MOP::Class->get_all_metaclasses }, |
29 | \%METAS, |
30 | '... got all the metaclasses'); |
31 | |
32 | is_deeply( |
33 | [ sort { $a->name cmp $b->name } Class::MOP::Class->get_all_metaclass_instances ], |
2243a22b |
34 | [ |
35 | Class::MOP::Attribute->meta, |
36 | Class::MOP::Class->meta, |
37 | Class::MOP::Instance->meta, |
38 | Class::MOP::Method->meta, |
39 | Class::MOP::Module->meta, |
40 | Class::MOP::Package->meta, |
41 | ], |
d41e86f2 |
42 | '... got all the metaclass instances'); |
43 | |
44 | is_deeply( |
45 | [ sort Class::MOP::Class->get_all_metaclass_names ], |
2243a22b |
46 | [ qw/ |
47 | Class::MOP::Attribute |
48 | Class::MOP::Class |
49 | Class::MOP::Instance |
50 | Class::MOP::Method |
51 | Class::MOP::Module |
52 | Class::MOP::Package |
53 | / ], |
d41e86f2 |
54 | '... got all the metaclass names'); |