Commit | Line | Data |
8b978dd5 |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
d41e86f2 |
6 | use Test::More tests => 7; |
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'); |
d41e86f2 |
13 | } |
14 | |
15 | # make sure we are tracking metaclasses correctly |
16 | |
17 | my %METAS = ( |
18 | 'Class::MOP::Attribute' => Class::MOP::Attribute->meta, |
19 | 'Class::MOP::Class' => Class::MOP::Class->meta, |
20 | 'Class::MOP::Method' => Class::MOP::Method->meta |
21 | ); |
22 | |
23 | is_deeply( |
24 | { Class::MOP::Class->get_all_metaclasses }, |
25 | \%METAS, |
26 | '... got all the metaclasses'); |
27 | |
28 | is_deeply( |
29 | [ sort { $a->name cmp $b->name } Class::MOP::Class->get_all_metaclass_instances ], |
30 | [ Class::MOP::Attribute->meta, Class::MOP::Class->meta, Class::MOP::Method->meta ], |
31 | '... got all the metaclass instances'); |
32 | |
33 | is_deeply( |
34 | [ sort Class::MOP::Class->get_all_metaclass_names ], |
35 | [ 'Class::MOP::Attribute', 'Class::MOP::Class', 'Class::MOP::Method' ], |
36 | '... got all the metaclass names'); |