X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F010_self_introspection.t;h=7f42a40b65b6882a9a767577dd82061a5893ec7c;hb=ba38bf08d30369c19a2c25997a0243c0d30be3d5;hp=ec0533c237dfc7fcbb0181075aa825117e6f56d3;hpb=f0480c45f215203bc40abc794ac0c03622f02f1d;p=gitmo%2FClass-MOP.git diff --git a/t/010_self_introspection.t b/t/010_self_introspection.t index ec0533c..7f42a40 100644 --- a/t/010_self_introspection.t +++ b/t/010_self_introspection.t @@ -50,9 +50,9 @@ my @class_mop_module_methods = qw( my @class_mop_class_methods = qw( meta - get_all_metaclasses get_all_metaclass_names get_all_metaclass_instances + initialize reinitialize create - initialize reinitialize create create_anon_class + create_anon_class is_anon_class instance_metaclass get_meta_instance new_object clone_object @@ -64,7 +64,7 @@ my @class_mop_class_methods = qw( superclasses class_precedence_list has_method get_method add_method remove_method alias_method - get_method_list compute_all_applicable_methods + get_method_list get_method_map compute_all_applicable_methods find_method_by_name find_all_methods_by_name find_next_method_by_name add_before_method_modifier add_after_method_modifier add_around_method_modifier @@ -85,7 +85,7 @@ foreach my $method_name (@class_mop_class_methods) { ok($class_mop_class_meta->has_method($method_name), '... Class::MOP::Class->has_method(' . $method_name . ')'); { no strict 'refs'; - is($class_mop_class_meta->get_method($method_name), + is($class_mop_class_meta->get_method($method_name)->body, \&{'Class::MOP::Class::' . $method_name}, '... Class::MOP::Class->get_method(' . $method_name . ') == &Class::MOP::Class::' . $method_name); } @@ -99,7 +99,7 @@ foreach my $method_name (@class_mop_package_methods) { ok($class_mop_package_meta->has_method($method_name), '... Class::MOP::Package->has_method(' . $method_name . ')'); { no strict 'refs'; - is($class_mop_package_meta->get_method($method_name), + is($class_mop_package_meta->get_method($method_name)->body, \&{'Class::MOP::Package::' . $method_name}, '... Class::MOP::Package->get_method(' . $method_name . ') == &Class::MOP::Package::' . $method_name); } @@ -113,7 +113,7 @@ foreach my $method_name (@class_mop_module_methods) { ok($class_mop_module_meta->has_method($method_name), '... Class::MOP::Module->has_method(' . $method_name . ')'); { no strict 'refs'; - is($class_mop_module_meta->get_method($method_name), + is($class_mop_module_meta->get_method($method_name)->body, \&{'Class::MOP::Module::' . $method_name}, '... Class::MOP::Module->get_method(' . $method_name . ') == &Class::MOP::Module::' . $method_name); } @@ -143,6 +143,7 @@ my @class_mop_module_attributes = ( ); my @class_mop_class_attributes = ( + '%:methods', '%:attributes', '$:attribute_metaclass', '$:method_metaclass', @@ -213,8 +214,8 @@ is($class_mop_package_meta->get_attribute('$:package')->init_arg, ':package', '. # ... class ok($class_mop_class_meta->get_attribute('%:attributes')->has_reader, '... Class::MOP::Class %:attributes has a reader'); -is(ref($class_mop_class_meta->get_attribute('%:attributes')->reader), - 'HASH', +is_deeply($class_mop_class_meta->get_attribute('%:attributes')->reader, + { 'get_attribute_map' => \&Class::MOP::Class::get_attribute_map }, '... Class::MOP::Class %:attributes\'s a reader is &get_attribute_map'); ok($class_mop_class_meta->get_attribute('%:attributes')->has_init_arg, '... Class::MOP::Class %:attributes has a init_arg'); @@ -228,8 +229,8 @@ is_deeply($class_mop_class_meta->get_attribute('%:attributes')->default('Foo'), '... Class::MOP::Class %:attributes\'s a default of {}'); ok($class_mop_class_meta->get_attribute('$:attribute_metaclass')->has_reader, '... Class::MOP::Class $:attribute_metaclass has a reader'); -is($class_mop_class_meta->get_attribute('$:attribute_metaclass')->reader, - 'attribute_metaclass', +is_deeply($class_mop_class_meta->get_attribute('$:attribute_metaclass')->reader, + { 'attribute_metaclass' => \&Class::MOP::Class::attribute_metaclass }, '... Class::MOP::Class $:attribute_metaclass\'s a reader is &attribute_metaclass'); ok($class_mop_class_meta->get_attribute('$:attribute_metaclass')->has_init_arg, '... Class::MOP::Class $:attribute_metaclass has a init_arg'); @@ -243,8 +244,8 @@ is($class_mop_class_meta->get_attribute('$:attribute_metaclass')->default, '... Class::MOP::Class $:attribute_metaclass\'s a default is Class::MOP:::Attribute'); ok($class_mop_class_meta->get_attribute('$:method_metaclass')->has_reader, '... Class::MOP::Class $:method_metaclass has a reader'); -is($class_mop_class_meta->get_attribute('$:method_metaclass')->reader, - 'method_metaclass', +is_deeply($class_mop_class_meta->get_attribute('$:method_metaclass')->reader, + { 'method_metaclass' => \&Class::MOP::Class::method_metaclass }, '... Class::MOP::Class $:method_metaclass\'s a reader is &method_metaclass'); ok($class_mop_class_meta->get_attribute('$:method_metaclass')->has_init_arg, '... Class::MOP::Class $:method_metaclass has a init_arg'); @@ -277,7 +278,8 @@ is_deeply( [ qw/ Class::MOP::Class Class::MOP::Module - Class::MOP::Package + Class::MOP::Package + Class::MOP::Object / ], '... Class::MOP::Class->class_precedence_list == [ Class::MOP::Class Class::MOP::Module Class::MOP::Package ]');