PERL_DL_NONLAZY=1 /opt/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'inc', 'blib/lib', 'blib/arch')" t/*.t t/000_load............................................ 1..42 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Package; ok 3 - use Class::MOP::Module; ok 4 - use Class::MOP::Class; ok 5 - use Class::MOP::Immutable; ok 6 - use Class::MOP::Attribute; ok 7 - use Class::MOP::Method; ok 8 - use Class::MOP::Method::Wrapped; ok 9 - use Class::MOP::Method::Generated; ok 10 - use Class::MOP::Method::Accessor; ok 11 - use Class::MOP::Method::Constructor; ok 12 - use Class::MOP::Instance; ok 13 - use Class::MOP::Object; ok 14 - ... Class::MOP::Package is loaded ok 15 - ... Class::MOP::Method is loaded ok 16 - ... Class::MOP::Method::Accessor is loaded ok 17 - ... Class::MOP::Method::Generated is loaded ok 18 - ... Class::MOP::Method::Wrapped is loaded ok 19 - ... Class::MOP::Instance is loaded ok 20 - ... Class::MOP::Attribute is loaded ok 21 - ... Class::MOP::Class is loaded ok 22 - ... Class::MOP::Object is loaded ok 23 - ... Class::MOP::Method::Constructor is loaded ok 24 - ... Class::MOP::Module is loaded ok 25 - ... Class::MOP::Package is immutable ok 26 - ... Class::MOP::Method is immutable ok 27 - ... Class::MOP::Method::Accessor is immutable ok 28 - ... Class::MOP::Method::Generated is immutable ok 29 - ... Class::MOP::Method::Wrapped is immutable ok 30 - ... Class::MOP::Instance is immutable ok 31 - ... Class::MOP::Attribute is immutable ok 32 - ... Class::MOP::Class is immutable ok 33 - ... Class::MOP::Object is immutable ok 34 - ... Class::MOP::Method::Constructor is immutable ok 35 - ... Class::MOP::Module is immutable ok 36 - ... got all the metaclasses ok 37 - ... got all the metaclass instances ok 38 - ... got all the metaclass names ok 39 - ... got all the metaclass identifiers ok 40 - ... Class::MOP::Class->meta == Class::MOP::Class->meta->meta ok 41 - ... Class::MOP::Class->meta == Class::MOP::Class->meta->meta->meta ok 42 - ... Class::MOP::Class->meta == Class::MOP::Class->meta->meta->meta->meta ok t/001_basic........................................... 1..25 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Class; ok 3 - The object isa Class::MOP::Class ok 4 - The object isa Class::MOP::Class ok 5 - ... Foo->name == Foo ok 6 - ... Bar->name == Bar ok 7 - ... Foo->version == 0.01 ok 8 - ... Bar->version == undef ok 9 - ... Foo->authority == undef ok 10 - ... Bar->authority == cpan:JRANDOM ok 11 - ... Foo->identifier == Foo-0.01 ok 12 - ... Bar->identifier == Bar-cpan:JRANDOM ok 13 - ... Foo has no superclasses ok 14 - ... Bar->superclasses == (Foo) ok 15 - ... Foo->superclasses == (UNIVERSAL) now ok 16 - ... Foo->class_precedence_list == (Foo, UNIVERSAL) ok 17 - ... Bar->class_precedence_list == (Bar, Foo, UNIVERSAL) ok 18 - The object isa Class::MOP::Class ok 19 - ... our metaclasses are singletons ok 20 - ... Baz->name == Baz ok 21 - ... Baz->version == 0.10 ok 22 - ... Baz->authority == YOMAMA ok 23 - ... Baz->identifier == Baz-0.10-cpan:YOMAMA ok 24 - ... Baz->superclasses == (Bar) ok 25 - ... Baz->class_precedence_list == (Baz, Bar, Foo, UNIVERSAL) ok t/002_class_precedence_list........................... 1..8 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Class; ok 3 - ... My::D->meta->class_precedence_list == (D B A C A) ok 4 - ... My::D->meta->linearized_isa == (D B A C) ok 5 - ... recursive inheritance breaks correctly :) ok 6 - ... My::3::D->meta->class_precedence_list == (D B A C A B A) ok 7 - ... My::3::D->meta->linearized_isa == (D B A C B) ok 8 - ... Foo::Bar::Baz->meta->class_precedence_list == @CLASS_PRECEDENCE_LIST ok t/003_methods......................................... 1..66 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Class; ok 3 - ... got the method stub pie ok 4 - ... got the constant method stub cake ok 5 - ... our method is not yet blessed ok 6 - ... we added the method successfully ok 7 - The object isa Class::MOP::Method ok 8 - ... got the right name for the method ok 9 - ... got the right package name for the method ok 10 - ... Foo->has_method(foo) (defined with Sub::Name) ok 11 - ... Foo->get_method(foo) == \&foo ok 12 - ... Foo->foo() returns "Foo::foo" ok 13 - ... Foo->has_method(FOO_CONSTANT) (defined w/ use constant) ok 14 - ... Foo->has_method(bar) (defined in Foo) ok 15 - ... Foo->has_method(baz) (typeglob aliased within Foo) ok 16 - ... Foo->has_method(floob) (defined in Foo:: using symbol tables and Sub::Name w/out package name) ok 17 - ... Foo->has_method(blah) (defined in main:: using fully qualified package name) ok 18 - ... Foo->has_method(bling) (defined in main:: using symbol tables (no Sub::Name)) ok 19 - ... Foo->has_method(bang) (defined in main:: using symbol tables and Sub::Name) ok 20 - ... Foo->has_method(evaled_foo) (evaled in main::) ok 21 - the method 'elk' is defined in OinkyBoinky ok 22 - the method 'bar' is not defined in OinkyBoinky ok 23 - but if you look in the inheritence chain then 'bar' does exist ok 24 - the returned value is a code ref ok 25 - The object isa Class::MOP::Method ok 26 - ... body matches CODE ref in package for FOO_CONSTANT ok 27 - The object isa Class::MOP::Method ok 28 - ... body matches CODE ref in package for bar ok 29 - The object isa Class::MOP::Method ok 30 - ... body matches CODE ref in package for baz ok 31 - The object isa Class::MOP::Method ok 32 - ... body matches CODE ref in package for floob ok 33 - The object isa Class::MOP::Method ok 34 - ... body matches CODE ref in package for blah ok 35 - The object isa Class::MOP::Method ok 36 - ... body matches CODE ref in package for bling ok 37 - The object isa Class::MOP::Method ok 38 - ... body matches CODE ref in package for bang ok 39 - The object isa Class::MOP::Method ok 40 - ... body matches CODE ref in package for evaled_foo ok 41 - ... !Foo->has_method(alias_me) (aliased from Foo::Aliasing) ok 42 - ... Foo does have a symbol table slow for alias_me though ok 43 - ... !Foo->has_method(blessed) (imported into Foo) ok 44 - ... !Foo->has_method(boom) (defined in main:: using symbol tables and Sub::Name w/out package name) ok 45 - ... !Foo->has_method(not_a_real_method) (does not exist) ok 46 - ... Foo->get_method(not_a_real_method) == undef ok 47 - ... got the right method list for Foo ok 48 - ... got the right list of applicable methods for Foo ok 49 - ... removed the foo method ok 50 - ... !Foo->has_method(foo) we just removed it ok 51 - ... cannot call Foo->foo because it is not there ok 52 - ... got the right method list for Foo ok 53 - ... removed the FOO_CONSTANT method ok 54 - ... !Foo->has_method(FOO_CONSTANT) we just removed it ok 55 - ... cannot call Foo->FOO_CONSTANT because it is not there ok 56 - ... got the right method list for Foo ok 57 - The object isa Class::MOP::Class ok 58 - ... Bar->has_method(foo) ok 59 - ... Bar->has_method(bar) ok 60 - ... Bar->foo == Bar::foo ok 61 - ... Bar->bar == Bar::bar ok 62 - ... overwriting a method is fine ok 63 - ... Bar-> (still) has_method(foo) ok 64 - ... Bar->foo == "Bar::foo v2" ok 65 - ... got the right method list for Bar ok 66 - ... got the right list of applicable methods for Bar ok t/004_advanced_methods................................ 1..14 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Class; ok 3 - ... Foo::BUILD has not next method ok 4 - ... Bar::BUILD does have a next method ok 5 - ... Baz->BUILD does have a next method ok 6 - ... Foo::Bar->BUILD does have a next method ok 7 - ... Foo::Bar::Baz->BUILD does have a next method ok 8 - ... got the right list of applicable methods for Foo ok 9 - ... got the right list of applicable methods for Bar ok 10 - ... got the right list of applicable methods for Baz ok 11 - ... got the right list of applicable methods for Foo::Bar ok 12 - ... got the right list of applicable methods for Foo::Bar::Baz ok 13 - ... got the right list of BUILD methods for Foo::Bar ok 14 - ... got the right list of BUILD methods for Foo::Bar::Baz ok t/005_attributes...................................... 1..71 ok 1 - use Class::MOP; ok 2 - ... got the attributes name correctly ok 3 - ... got the attributes name correctly ok 4 - ... got the attributes name correctly ok 5 - ... we added an attribute to Foo successfully ok 6 - ... Foo has $foo attribute ok 7 - ... got the right attribute back for Foo ok 8 - ... no accessor created ok 9 - ... we added an attribute to Foo successfully ok 10 - ... Foo has $bar attribute ok 11 - ... got the right attribute back for Foo ok 12 - ... no accessor created ok 13 - ... we added an attribute to Bar successfully ok 14 - ... Bar has $bar attribute ok 15 - ... got the right attribute back for Bar ok 16 - ... got the right read method for Bar ok 17 - ... got the right write method for Bar ok 18 - ... an accessor has been created ok 19 - The object isa Class::MOP::Method::Accessor ok 20 - ... we added an attribute to Baz successfully ok 21 - ... Baz has $baz attribute ok 22 - ... got the right attribute back for Baz ok 23 - ... got the right read method for Baz ok 24 - ... got the right write method for Baz ok 25 - ... a reader has been created ok 26 - ... a writer has been created ok 27 - The object isa Class::MOP::Method::Accessor ok 28 - The object isa Class::MOP::Method::Accessor ok 29 - The object isa Class::MOP::Class ok 30 - ... got the right attribute for "bar" ok 31 - ... got the right attribute for "baz" ok 32 - ... got the right attribute for "foo" ok 33 - ... got the right list of applicable attributes for Baz ok 34 - ... got the right list of associated classes from the applicable attributes for Baz ok 35 - ... removed the $baz attribute successfully ok 36 - ... got the right attribute back for Baz ok 37 - ... Baz no longer has $baz attribute ok 38 - ... Baz no longer has $baz attribute ok 39 - ... a reader has been removed ok 40 - ... a writer has been removed ok 41 - ... got the right list of applicable attributes for Baz ok 42 - ... got the right list of associated classes from the applicable attributes for Baz ok 43 - ... removed the $bar attribute successfully ok 44 - ... got the right attribute back for Bar ok 45 - ... Bar no longer has $bar attribute ok 46 - ... a accessor has been removed ok 47 - ... got the right list of applicable attributes for Baz ok 48 - ... got the right list of associated classes from the applicable attributes for Baz ok 49 - ... attempted to remove the non-existent $blammo attribute ok 50 - ... got the right value back (undef) ok 51 - ... we added an attribute to Buzz successfully ok 52 - ... we added an attribute to Buzz successfully ok 53 - ... we added an attribute to Buzz successfully ok 54 - ... we added a method to Buzz successfully ok 55 - ...Buzz instantiated successfully ok 56 - ...foo builder works as expected ok 57 - ...bar is not set ok 58 - ...bar returns undef ok 59 - ...bar was not autovivified ok 60 - ...bar is set ok 61 - ...bar is undef ok 62 - ...bar is no longerset ok 63 - ...Buzz instantiated successfully ok 64 - ...bar is set ok 65 - ...bar is undef ok 66 - ...Buzz instantiated successfully ok 67 - ...bah is set ok 68 - ...bah returns "BAH" ok 69 - ...Buzz instantiated successfully ok 70 - ...bah is set ok 71 - ...bah is undef ok t/006_new_and_clone_metaclasses....................... 1..36 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - The object isa Class::MOP::Class ok 4 - ... it still creates the singleton ok 5 - The object isa Class::MOP::Class ok 6 - ... it creates the singleton even if you try to clone it ok 7 - The object isa Class::MOP::Class ok 8 - ... got the right Foo->meta singleton ok 9 - ... cloning got the right Foo->meta singleton ok 10 - The object isa Class::MOP::Class ok 11 - The object isa Class::MOP::Class ok 12 - ... even subclasses still create the singleton ok 13 - The object isa Class::MOP::Class ok 14 - ... and subclasses creates the singleton even if you try to clone it ok 15 - ... got the right Foo->meta singleton (w/subclass) ok 16 - ... cloning got the right Foo->meta singleton (w/subclass) ok 17 - The object isa Class::MOP::Class ok 18 - ... got the right name for the Bar metaclass ok 19 - ... Bar does not exists, so it has no version ok 20 - The object isa Class::MOP::Class ok 21 - The object isa MyMetaClass ok 22 - ... got the right Baz->meta singleton ok 23 - ... cloning got the right Baz->meta singleton ok 24 - The object isa Foo ok 25 - The object isa Bar ok 26 - The object isa Foo ok 27 - The object isa Baz ok 28 - The object isa Bar ok 29 - The object isa Foo ok 30 - The object isa Foo ok 31 - ... $cloned_foo is a new object different from $foo ok 32 - ... this dies as expected ok 33 - The object isa Class::MOP::Attribute ok 34 - The object isa Class::MOP::Attribute ok 35 - ... we successfully cloned our attributes ok 36 - ... we successfully did not clone our associated metaclass ok t/010_self_introspection.............................. 1..205 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Class; ok 3 - use Class::MOP::Package; ok 4 - use Class::MOP::Module; ok 5 - ... instance and class both lead to the same meta ok 6 - The object isa Class::MOP::Class ok 7 - The object isa Class::MOP::Package ok 8 - The object isa Class::MOP::Module ok 9 - ... got the correct method list for class ok 10 - ... Class::MOP::Class->has_method(meta) ok 11 - ... Class::MOP::Class->get_method(meta) == &Class::MOP::Class::meta ok 12 - ... Class::MOP::Class->has_method(initialize) ok 13 - ... Class::MOP::Class->get_method(initialize) == &Class::MOP::Class::initialize ok 14 - ... Class::MOP::Class->has_method(reinitialize) ok 15 - ... Class::MOP::Class->get_method(reinitialize) == &Class::MOP::Class::reinitialize ok 16 - ... Class::MOP::Class->has_method(create) ok 17 - ... Class::MOP::Class->get_method(create) == &Class::MOP::Class::create ok 18 - ... Class::MOP::Class->has_method(update_package_cache_flag) ok 19 - ... Class::MOP::Class->get_method(update_package_cache_flag) == &Class::MOP::Class::update_package_cache_flag ok 20 - ... Class::MOP::Class->has_method(reset_package_cache_flag) ok 21 - ... Class::MOP::Class->get_method(reset_package_cache_flag) == &Class::MOP::Class::reset_package_cache_flag ok 22 - ... Class::MOP::Class->has_method(create_anon_class) ok 23 - ... Class::MOP::Class->get_method(create_anon_class) == &Class::MOP::Class::create_anon_class ok 24 - ... Class::MOP::Class->has_method(is_anon_class) ok 25 - ... Class::MOP::Class->get_method(is_anon_class) == &Class::MOP::Class::is_anon_class ok 26 - ... Class::MOP::Class->has_method(instance_metaclass) ok 27 - ... Class::MOP::Class->get_method(instance_metaclass) == &Class::MOP::Class::instance_metaclass ok 28 - ... Class::MOP::Class->has_method(get_meta_instance) ok 29 - ... Class::MOP::Class->get_method(get_meta_instance) == &Class::MOP::Class::get_meta_instance ok 30 - ... Class::MOP::Class->has_method(new_object) ok 31 - ... Class::MOP::Class->get_method(new_object) == &Class::MOP::Class::new_object ok 32 - ... Class::MOP::Class->has_method(clone_object) ok 33 - ... Class::MOP::Class->get_method(clone_object) == &Class::MOP::Class::clone_object ok 34 - ... Class::MOP::Class->has_method(construct_instance) ok 35 - ... Class::MOP::Class->get_method(construct_instance) == &Class::MOP::Class::construct_instance ok 36 - ... Class::MOP::Class->has_method(construct_class_instance) ok 37 - ... Class::MOP::Class->get_method(construct_class_instance) == &Class::MOP::Class::construct_class_instance ok 38 - ... Class::MOP::Class->has_method(clone_instance) ok 39 - ... Class::MOP::Class->get_method(clone_instance) == &Class::MOP::Class::clone_instance ok 40 - ... Class::MOP::Class->has_method(rebless_instance) ok 41 - ... Class::MOP::Class->get_method(rebless_instance) == &Class::MOP::Class::rebless_instance ok 42 - ... Class::MOP::Class->has_method(check_metaclass_compatability) ok 43 - ... Class::MOP::Class->get_method(check_metaclass_compatability) == &Class::MOP::Class::check_metaclass_compatability ok 44 - ... Class::MOP::Class->has_method(attribute_metaclass) ok 45 - ... Class::MOP::Class->get_method(attribute_metaclass) == &Class::MOP::Class::attribute_metaclass ok 46 - ... Class::MOP::Class->has_method(method_metaclass) ok 47 - ... Class::MOP::Class->get_method(method_metaclass) == &Class::MOP::Class::method_metaclass ok 48 - ... Class::MOP::Class->has_method(superclasses) ok 49 - ... Class::MOP::Class->get_method(superclasses) == &Class::MOP::Class::superclasses ok 50 - ... Class::MOP::Class->has_method(subclasses) ok 51 - ... Class::MOP::Class->get_method(subclasses) == &Class::MOP::Class::subclasses ok 52 - ... Class::MOP::Class->has_method(class_precedence_list) ok 53 - ... Class::MOP::Class->get_method(class_precedence_list) == &Class::MOP::Class::class_precedence_list ok 54 - ... Class::MOP::Class->has_method(linearized_isa) ok 55 - ... Class::MOP::Class->get_method(linearized_isa) == &Class::MOP::Class::linearized_isa ok 56 - ... Class::MOP::Class->has_method(has_method) ok 57 - ... Class::MOP::Class->get_method(has_method) == &Class::MOP::Class::has_method ok 58 - ... Class::MOP::Class->has_method(get_method) ok 59 - ... Class::MOP::Class->get_method(get_method) == &Class::MOP::Class::get_method ok 60 - ... Class::MOP::Class->has_method(add_method) ok 61 - ... Class::MOP::Class->get_method(add_method) == &Class::MOP::Class::add_method ok 62 - ... Class::MOP::Class->has_method(remove_method) ok 63 - ... Class::MOP::Class->get_method(remove_method) == &Class::MOP::Class::remove_method ok 64 - ... Class::MOP::Class->has_method(alias_method) ok 65 - ... Class::MOP::Class->get_method(alias_method) == &Class::MOP::Class::alias_method ok 66 - ... Class::MOP::Class->has_method(get_method_list) ok 67 - ... Class::MOP::Class->get_method(get_method_list) == &Class::MOP::Class::get_method_list ok 68 - ... Class::MOP::Class->has_method(get_method_map) ok 69 - ... Class::MOP::Class->get_method(get_method_map) == &Class::MOP::Class::get_method_map ok 70 - ... Class::MOP::Class->has_method(compute_all_applicable_methods) ok 71 - ... Class::MOP::Class->get_method(compute_all_applicable_methods) == &Class::MOP::Class::compute_all_applicable_methods ok 72 - ... Class::MOP::Class->has_method(find_method_by_name) ok 73 - ... Class::MOP::Class->get_method(find_method_by_name) == &Class::MOP::Class::find_method_by_name ok 74 - ... Class::MOP::Class->has_method(find_all_methods_by_name) ok 75 - ... Class::MOP::Class->get_method(find_all_methods_by_name) == &Class::MOP::Class::find_all_methods_by_name ok 76 - ... Class::MOP::Class->has_method(find_next_method_by_name) ok 77 - ... Class::MOP::Class->get_method(find_next_method_by_name) == &Class::MOP::Class::find_next_method_by_name ok 78 - ... Class::MOP::Class->has_method(add_before_method_modifier) ok 79 - ... Class::MOP::Class->get_method(add_before_method_modifier) == &Class::MOP::Class::add_before_method_modifier ok 80 - ... Class::MOP::Class->has_method(add_after_method_modifier) ok 81 - ... Class::MOP::Class->get_method(add_after_method_modifier) == &Class::MOP::Class::add_after_method_modifier ok 82 - ... Class::MOP::Class->has_method(add_around_method_modifier) ok 83 - ... Class::MOP::Class->get_method(add_around_method_modifier) == &Class::MOP::Class::add_around_method_modifier ok 84 - ... Class::MOP::Class->has_method(has_attribute) ok 85 - ... Class::MOP::Class->get_method(has_attribute) == &Class::MOP::Class::has_attribute ok 86 - ... Class::MOP::Class->has_method(get_attribute) ok 87 - ... Class::MOP::Class->get_method(get_attribute) == &Class::MOP::Class::get_attribute ok 88 - ... Class::MOP::Class->has_method(add_attribute) ok 89 - ... Class::MOP::Class->get_method(add_attribute) == &Class::MOP::Class::add_attribute ok 90 - ... Class::MOP::Class->has_method(remove_attribute) ok 91 - ... Class::MOP::Class->get_method(remove_attribute) == &Class::MOP::Class::remove_attribute ok 92 - ... Class::MOP::Class->has_method(get_attribute_list) ok 93 - ... Class::MOP::Class->get_method(get_attribute_list) == &Class::MOP::Class::get_attribute_list ok 94 - ... Class::MOP::Class->has_method(get_attribute_map) ok 95 - ... Class::MOP::Class->get_method(get_attribute_map) == &Class::MOP::Class::get_attribute_map ok 96 - ... Class::MOP::Class->has_method(compute_all_applicable_attributes) ok 97 - ... Class::MOP::Class->get_method(compute_all_applicable_attributes) == &Class::MOP::Class::compute_all_applicable_attributes ok 98 - ... Class::MOP::Class->has_method(find_attribute_by_name) ok 99 - ... Class::MOP::Class->get_method(find_attribute_by_name) == &Class::MOP::Class::find_attribute_by_name ok 100 - ... Class::MOP::Class->has_method(is_mutable) ok 101 - ... Class::MOP::Class->get_method(is_mutable) == &Class::MOP::Class::is_mutable ok 102 - ... Class::MOP::Class->has_method(is_immutable) ok 103 - ... Class::MOP::Class->get_method(is_immutable) == &Class::MOP::Class::is_immutable ok 104 - ... Class::MOP::Class->has_method(make_mutable) ok 105 - ... Class::MOP::Class->get_method(make_mutable) == &Class::MOP::Class::make_mutable ok 106 - ... Class::MOP::Class->has_method(make_immutable) ok 107 - ... Class::MOP::Class->get_method(make_immutable) == &Class::MOP::Class::make_immutable ok 108 - ... Class::MOP::Class->has_method(create_immutable_transformer) ok 109 - ... Class::MOP::Class->get_method(create_immutable_transformer) == &Class::MOP::Class::create_immutable_transformer ok 110 - ... Class::MOP::Class->has_method(DESTROY) ok 111 - ... Class::MOP::Class->get_method(DESTROY) == &Class::MOP::Class::DESTROY ok 112 - ... got the correct method list for package ok 113 - ... Class::MOP::Package->has_method(meta) ok 114 - ... Class::MOP::Package->get_method(meta) == &Class::MOP::Package::meta ok 115 - ... Class::MOP::Package->has_method(initialize) ok 116 - ... Class::MOP::Package->get_method(initialize) == &Class::MOP::Package::initialize ok 117 - ... Class::MOP::Package->has_method(name) ok 118 - ... Class::MOP::Package->get_method(name) == &Class::MOP::Package::name ok 119 - ... Class::MOP::Package->has_method(namespace) ok 120 - ... Class::MOP::Package->get_method(namespace) == &Class::MOP::Package::namespace ok 121 - ... Class::MOP::Package->has_method(add_package_symbol) ok 122 - ... Class::MOP::Package->get_method(add_package_symbol) == &Class::MOP::Package::add_package_symbol ok 123 - ... Class::MOP::Package->has_method(get_package_symbol) ok 124 - ... Class::MOP::Package->get_method(get_package_symbol) == &Class::MOP::Package::get_package_symbol ok 125 - ... Class::MOP::Package->has_method(has_package_symbol) ok 126 - ... Class::MOP::Package->get_method(has_package_symbol) == &Class::MOP::Package::has_package_symbol ok 127 - ... Class::MOP::Package->has_method(remove_package_symbol) ok 128 - ... Class::MOP::Package->get_method(remove_package_symbol) == &Class::MOP::Package::remove_package_symbol ok 129 - ... Class::MOP::Package->has_method(list_all_package_symbols) ok 130 - ... Class::MOP::Package->get_method(list_all_package_symbols) == &Class::MOP::Package::list_all_package_symbols ok 131 - ... Class::MOP::Package->has_method(remove_package_glob) ok 132 - ... Class::MOP::Package->get_method(remove_package_glob) == &Class::MOP::Package::remove_package_glob ok 133 - ... Class::MOP::Package->has_method(_deconstruct_variable_name) ok 134 - ... Class::MOP::Package->get_method(_deconstruct_variable_name) == &Class::MOP::Package::_deconstruct_variable_name ok 135 - ... got the correct method list for module ok 136 - ... Class::MOP::Module->has_method(meta) ok 137 - ... Class::MOP::Module->get_method(meta) == &Class::MOP::Module::meta ok 138 - ... Class::MOP::Module->has_method(version) ok 139 - ... Class::MOP::Module->get_method(version) == &Class::MOP::Module::version ok 140 - ... Class::MOP::Module->has_method(authority) ok 141 - ... Class::MOP::Module->get_method(authority) == &Class::MOP::Module::authority ok 142 - ... Class::MOP::Module->has_method(identifier) ok 143 - ... Class::MOP::Module->get_method(identifier) == &Class::MOP::Module::identifier ok 144 - ... NOT Class::MOP::Class->has_method(confess) ok 145 - ... NOT Class::MOP::Class->has_method(blessed) ok 146 - ... NOT Class::MOP::Class->has_method(reftype) ok 147 - ... NOT Class::MOP::Class->has_method(subname) ok 148 - ... NOT Class::MOP::Class->has_method(svref_2object) ok 149 - ... got the right list of attributes ok 150 - ... got the right list of attributes ok 151 - ... Class::MOP::Class->has_attribute(@!superclasses) ok 152 - The object isa Class::MOP::Attribute ok 153 - ... Class::MOP::Class->has_attribute(%!methods) ok 154 - The object isa Class::MOP::Attribute ok 155 - ... Class::MOP::Class->has_attribute(%!attributes) ok 156 - The object isa Class::MOP::Attribute ok 157 - ... Class::MOP::Class->has_attribute($!attribute_metaclass) ok 158 - The object isa Class::MOP::Attribute ok 159 - ... Class::MOP::Class->has_attribute($!method_metaclass) ok 160 - The object isa Class::MOP::Attribute ok 161 - ... Class::MOP::Class->has_attribute($!instance_metaclass) ok 162 - The object isa Class::MOP::Attribute ok 163 - ... got the right list of attributes ok 164 - ... got the right list of attributes ok 165 - ... Class::MOP::Package->has_attribute($!package) ok 166 - The object isa Class::MOP::Attribute ok 167 - ... Class::MOP::Package->has_attribute(%!namespace) ok 168 - The object isa Class::MOP::Attribute ok 169 - ... got the right list of attributes ok 170 - ... got the right list of attributes ok 171 - ... Class::MOP::Module->has_attribute($!version) ok 172 - The object isa Class::MOP::Attribute ok 173 - ... Class::MOP::Module->has_attribute($!authority) ok 174 - The object isa Class::MOP::Attribute ok 175 - ... Class::MOP::Class $!package has a reader ok 176 - ... Class::MOP::Class $!package's a reader is { name => sub { ... } } ok 177 - ... Class::MOP::Class $!package has a init_arg ok 178 - ... Class::MOP::Class $!package's a init_arg is package ok 179 - ... Class::MOP::Class %!attributes has a reader ok 180 - ... Class::MOP::Class %!attributes's a reader is &get_attribute_map ok 181 - ... Class::MOP::Class %!attributes has a init_arg ok 182 - ... Class::MOP::Class %!attributes's a init_arg is attributes ok 183 - ... Class::MOP::Class %!attributes has a default ok 184 - ... Class::MOP::Class %!attributes's a default of {} ok 185 - ... Class::MOP::Class $!attribute_metaclass has a reader ok 186 - ... Class::MOP::Class $!attribute_metaclass's a reader is &attribute_metaclass ok 187 - ... Class::MOP::Class $!attribute_metaclass has a init_arg ok 188 - ... Class::MOP::Class $!attribute_metaclass's a init_arg is attribute_metaclass ok 189 - ... Class::MOP::Class $!attribute_metaclass has a default ok 190 - ... Class::MOP::Class $!attribute_metaclass's a default is Class::MOP:::Attribute ok 191 - ... Class::MOP::Class $!method_metaclass has a reader ok 192 - ... Class::MOP::Class $!method_metaclass's a reader is &method_metaclass ok 193 - ... Class::MOP::Class $!method_metaclass has a init_arg ok 194 - ... Class::MOP::Class $:method_metaclass's init_arg is method_metaclass ok 195 - ... Class::MOP::Class $!method_metaclass has a default ok 196 - ... Class::MOP::Class $!method_metaclass's a default is Class::MOP:::Method ok 197 - ... Class::MOP::Class->name ok 198 - ... Class::MOP::Class->version ok 199 - ... Class::MOP::Class->has_package_symbol($VERSION) ok 200 - ... Class::MOP::Class->get_package_symbol($VERSION) ok 201 - ... Class::MOP::Class->superclasses == [ Class::MOP::Module ] ok 202 - ... Class::MOP::Class->class_precedence_list == [ Class::MOP::Class Class::MOP::Module Class::MOP::Package ] ok 203 - ... got the right value for attribute_metaclass ok 204 - ... got the right value for method_metaclass ok 205 - ... got the right value for instance_metaclass ok t/011_create_class.................................... 1..28 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - The object isa Class::MOP::Class ok 4 - The object isa Point ok 5 - Point->can('x') ok 6 - Point->can('y') ok 7 - Point->can('clear') ok 8 - ... got the meta from the instance too ok 9 - ... the $.y attribute was initialized correctly through the metaobject ok 10 - ... the $.y attribute was set properly with the accessor ok 11 - ... the $.x attribute was initialized correctly through the metaobject ok 12 - ... cannot write to a read-only accessor ok 13 - ... the $.x attribute was not altered ok 14 - ... the $.y attribute was cleared correctly ok 15 - ... the $.x attribute was cleared correctly ok 16 - The object isa Point3D ok 17 - The object isa Point ok 18 - ... got the meta from the instance too ok 19 - Point3D->can('x') ok 20 - Point3D->can('y') ok 21 - Point3D->can('clear') ok 22 - ... the $.x attribute was initialized correctly through the metaobject ok 23 - ... the $.y attribute was initialized correctly through the metaobject ok 24 - ... the $:z attribute was initialized correctly through the metaobject ok 25 - The object isa Point3D ok 26 - ... the $.x attribute was not initialized ok 27 - ... the $.y attribute was not initialized ok 28 - ... the $:z attribute was initialized correctly through the metaobject ok t/012_package_variables............................... 1..87 ok 1 - use Class::MOP; ok 2 - ... the %foo slot has not been created yet ok 3 - ... the meta agrees ok 4 - ... created %Foo::foo successfully ok 5 - ... SCALAR shouldnt have been created too ok 6 - ... ARRAY shouldnt have been created too ok 7 - ... CODE shouldnt have been created too ok 8 - ... the %foo slot was created successfully ok 9 - ... the meta agrees ok 10 - ... our %foo was initialized correctly ok 11 - ... our %foo was initialized correctly ok 12 - ... got the right package variable back ok 13 - ... our %foo is the same as the metas ok 14 - ... our %foo was updated correctly ok 15 - ... our %foo was updated correctly ok 16 - ... the @bar slot has not been created yet ok 17 - ... created @Foo::bar successfully ok 18 - ... the @bar slot was created successfully ok 19 - ... the meta agrees ok 20 - ... SCALAR shouldnt have been created too ok 21 - ... HASH shouldnt have been created too ok 22 - ... CODE shouldnt have been created too ok 23 - ... our @bar was initialized correctly ok 24 - ... our @bar was initialized correctly ok 25 - ... the $baz slot has not been created yet ok 26 - ... created $Foo::baz successfully ok 27 - ... the $baz slot was created successfully ok 28 - ... the meta agrees ok 29 - ... ARRAY shouldnt have been created too ok 30 - ... HASH shouldnt have been created too ok 31 - ... CODE shouldnt have been created too ok 32 - ... got the right value back ok 33 - ... our $baz was assigned to correctly ok 34 - ... the meta agrees ok 35 - ... the &funk slot has not been created yet ok 36 - ... created &Foo::funk successfully ok 37 - ... the &funk slot was created successfully ok 38 - ... the meta agrees ok 39 - ... SCALAR shouldnt have been created too ok 40 - ... ARRAY shouldnt have been created too ok 41 - ... HASH shouldnt have been created too ok 42 - ... our &funk exists ok 43 - ... got the right value from the function ok 44 - ... created @Foo::foo successfully ok 45 - ... the @foo slot was added successfully ok 46 - ... got the right values for @Foo::foo ok 47 - ... created &Foo::foo successfully ok 48 - ... the meta agrees ok 49 - ... got the right value for &Foo::foo ok 50 - ... created $Foo::foo successfully ok 51 - ... the meta agrees ok 52 - ... got the right scalar value back ok 53 - ... got the right value from the scalar ok 54 - ... removed %Foo::foo successfully ok 55 - ... the %foo slot was removed successfully ok 56 - ... the @foo slot still exists ok 57 - ... the &foo slot still exists ok 58 - ... the $foo slot still exists ok 59 - ... got the right values for @Foo::foo ok 60 - ... got the right value for &Foo::foo ok 61 - ... got the right value for $Foo::foo ok 62 - ... the %foo slot has been removed successfully ok 63 - ... the @foo slot has NOT been removed ok 64 - ... the &foo slot has NOT been removed ok 65 - ... the $foo slot has NOT been removed ok 66 - ... removed &Foo::foo successfully ok 67 - ... the &foo slot no longer exists ok 68 - ... the @foo slot still exists ok 69 - ... the $foo slot still exists ok 70 - ... got the right values for @Foo::foo ok 71 - ... got the right value for $Foo::foo ok 72 - ... the %foo slot has been removed successfully ok 73 - ... the &foo slot has now been removed ok 74 - ... the @foo slot has NOT been removed ok 75 - ... the $foo slot has NOT been removed ok 76 - ... removed $Foo::foo successfully ok 77 - ... the $foo slot no longer exists ok 78 - ... the @foo slot still exists ok 79 - ... got the right values for @Foo::foo ok 80 - ... the %foo slot has been removed successfully ok 81 - ... the &foo slot has now been removed ok 82 - ... the $foo slot has now been removed ok 83 - ... the @foo slot has NOT been removed ok 84 - ... no sigil for bar ok 85 - ... no sigil for bar ok 86 - ... no sigil for bar ok 87 - ... no sigil for bar ok t/013_add_attribute_alternate......................... 1..28 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - The object isa Class::MOP::Class ok 4 - The object isa Point ok 5 - Point->can('x') ok 6 - Point->can('y') ok 7 - Point->can('clear') ok 8 - ... got the meta from the instance too ok 9 - ... the $.y attribute was initialized correctly through the metaobject ok 10 - ... the $.y attribute was set properly with the accessor ok 11 - ... the $.x attribute was initialized correctly through the metaobject ok 12 - ... cannot write to a read-only accessor ok 13 - ... the $.x attribute was not altered ok 14 - ... the $.y attribute was cleared correctly ok 15 - ... the $.x attribute was cleared correctly ok 16 - The object isa Point3D ok 17 - The object isa Point ok 18 - ... got the meta from the instance too ok 19 - Point3D->can('x') ok 20 - Point3D->can('y') ok 21 - Point3D->can('clear') ok 22 - ... the $.x attribute was initialized correctly through the metaobject ok 23 - ... the $.y attribute was initialized correctly through the metaobject ok 24 - ... the $:z attribute was initialized correctly through the metaobject ok 25 - The object isa Point3D ok 26 - ... the $.x attribute was not initialized ok 27 - ... the $.y attribute was not initialized ok 28 - ... the $:z attribute was initialized correctly through the metaobject ok t/014_attribute_introspection......................... 1..56 ok 1 - use Class::MOP; ok 2 - ... instance and class both lead to the same meta ok 3 - The object isa Class::MOP::Class ok 4 - ... our method list matches ok 5 - ... Class::MOP::Attribute->has_method(meta) ok 6 - ... Class::MOP::Attribute->has_method(new) ok 7 - ... Class::MOP::Attribute->has_method(clone) ok 8 - ... Class::MOP::Attribute->has_method(initialize_instance_slot) ok 9 - ... Class::MOP::Attribute->has_method(name) ok 10 - ... Class::MOP::Attribute->has_method(has_accessor) ok 11 - ... Class::MOP::Attribute->has_method(accessor) ok 12 - ... Class::MOP::Attribute->has_method(has_writer) ok 13 - ... Class::MOP::Attribute->has_method(writer) ok 14 - ... Class::MOP::Attribute->has_method(get_write_method) ok 15 - ... Class::MOP::Attribute->has_method(get_write_method_ref) ok 16 - ... Class::MOP::Attribute->has_method(has_reader) ok 17 - ... Class::MOP::Attribute->has_method(reader) ok 18 - ... Class::MOP::Attribute->has_method(get_read_method) ok 19 - ... Class::MOP::Attribute->has_method(get_read_method_ref) ok 20 - ... Class::MOP::Attribute->has_method(has_predicate) ok 21 - ... Class::MOP::Attribute->has_method(predicate) ok 22 - ... Class::MOP::Attribute->has_method(has_clearer) ok 23 - ... Class::MOP::Attribute->has_method(clearer) ok 24 - ... Class::MOP::Attribute->has_method(has_builder) ok 25 - ... Class::MOP::Attribute->has_method(builder) ok 26 - ... Class::MOP::Attribute->has_method(has_init_arg) ok 27 - ... Class::MOP::Attribute->has_method(init_arg) ok 28 - ... Class::MOP::Attribute->has_method(has_default) ok 29 - ... Class::MOP::Attribute->has_method(default) ok 30 - ... Class::MOP::Attribute->has_method(is_default_a_coderef) ok 31 - ... Class::MOP::Attribute->has_method(slots) ok 32 - ... Class::MOP::Attribute->has_method(get_value) ok 33 - ... Class::MOP::Attribute->has_method(set_value) ok 34 - ... Class::MOP::Attribute->has_method(has_value) ok 35 - ... Class::MOP::Attribute->has_method(clear_value) ok 36 - ... Class::MOP::Attribute->has_method(associated_class) ok 37 - ... Class::MOP::Attribute->has_method(attach_to_class) ok 38 - ... Class::MOP::Attribute->has_method(detach_from_class) ok 39 - ... Class::MOP::Attribute->has_method(accessor_metaclass) ok 40 - ... Class::MOP::Attribute->has_method(associated_methods) ok 41 - ... Class::MOP::Attribute->has_method(associate_method) ok 42 - ... Class::MOP::Attribute->has_method(process_accessors) ok 43 - ... Class::MOP::Attribute->has_method(install_accessors) ok 44 - ... Class::MOP::Attribute->has_method(remove_accessors) ok 45 - ... our attribute list matches ok 46 - ... Class::MOP::Attribute->has_attribute($!name) ok 47 - ... Class::MOP::Attribute->has_attribute($!accessor) ok 48 - ... Class::MOP::Attribute->has_attribute($!reader) ok 49 - ... Class::MOP::Attribute->has_attribute($!writer) ok 50 - ... Class::MOP::Attribute->has_attribute($!predicate) ok 51 - ... Class::MOP::Attribute->has_attribute($!clearer) ok 52 - ... Class::MOP::Attribute->has_attribute($!builder) ok 53 - ... Class::MOP::Attribute->has_attribute($!init_arg) ok 54 - ... Class::MOP::Attribute->has_attribute($!default) ok 55 - ... Class::MOP::Attribute->has_attribute($!associated_class) ok 56 - ... Class::MOP::Attribute->has_attribute(@!associated_methods) ok t/015_metaclass_inheritance........................... 1..10 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - ... foo_meta->name == Foo ok 4 - The object isa Class::MOP::Class ok 5 - ... bar_meta->name == Bar ok 6 - ... Bar->meta != Foo->meta ok 7 - The object isa Class::MOP::Class ok 8 - ... baz_meta->name == Baz ok 9 - ... Baz->meta != Bar->meta ok 10 - ... Baz->meta != Foo->meta ok t/016_class_errors_and_edge_cases..................... 1..49 ok 1 - use Class::MOP; ok 2 - ... initialize requires a name parameter ok 3 - ... initialize requires a name valid parameter ok 4 - ... initialize requires an unblessed parameter ok 5 - ... construct_class_instance requires an :package parameter ok 6 - ... construct_class_instance requires a defined :package parameter ok 7 - ... construct_class_instance requires a valid :package parameter ok 8 - ... create requires an package_name parameter ok 9 - ... create requires a defined package_name parameter ok 10 - ... create requires a valid package_name parameter ok 11 - ... create requires a valid package_name parameter ok 12 - ... can only clone instances ok 13 - ... can only clone instances ok 14 - ... add_method dies as expected ok 15 - ... add_method dies as expected ok 16 - ... add_method dies as expected ok 17 - ... add_method dies as expected ok 18 - ... alias_method dies as expected ok 19 - ... alias_method dies as expected ok 20 - ... alias_method dies as expected ok 21 - ... alias_method dies as expected ok 22 - ... has_method dies as expected ok 23 - ... has_method dies as expected ok 24 - ... get_method dies as expected ok 25 - ... get_method dies as expected ok 26 - ... remove_method dies as expected ok 27 - ... remove_method dies as expected ok 28 - ... find_all_methods_by_name dies as expected ok 29 - ... find_all_methods_by_name dies as expected ok 30 - ... add_attribute dies as expected ok 31 - ... has_attribute dies as expected ok 32 - ... has_attribute dies as expected ok 33 - ... get_attribute dies as expected ok 34 - ... get_attribute dies as expected ok 35 - ... remove_attribute dies as expected ok 36 - ... remove_attribute dies as expected ok 37 - ... add_package_symbol dies as expected ok 38 - ... add_package_symbol dies as expected ok 39 - ... add_package_symbol dies as expected ok 40 - ... add_package_symbol dies as expected ok 41 - ... has_package_symbol dies as expected ok 42 - ... has_package_symbol dies as expected ok 43 - ... has_package_symbol dies as expected ok 44 - ... get_package_symbol dies as expected ok 45 - ... get_package_symbol dies as expected ok 46 - ... get_package_symbol dies as expected ok 47 - ... remove_package_symbol dies as expected ok 48 - ... remove_package_symbol dies as expected ok 49 - ... remove_package_symbol dies as expected ok t/017_add_method_modifier............................. 1..20 ok 1 - use Class::MOP; ok 2 - ... checking account now has a withdraw method ok 3 - The object isa Class::MOP::Method::Wrapped ok 4 - The object isa Class::MOP::Method ok 5 - The object isa BankAccount ok 6 - ... got the right savings balance ok 7 - ... withdrew from savings successfully ok 8 - ... got the right savings balance after withdrawl ok 9 - ... could not withdraw from savings successfully ok 10 - ... got the right savings balance after deposit ok 11 - The object isa CheckingAccount ok 12 - The object isa BankAccount ok 13 - ... got the right overdraft account ok 14 - ... got the right checkings balance ok 15 - ... withdrew from checking successfully ok 16 - ... got the right checkings balance after withdrawl ok 17 - ... got the right savings balance after checking withdrawl (no overdraft) ok 18 - ... withdrew from checking successfully ok 19 - ... got the right checkings balance after withdrawl ok 20 - ... got the right savings balance after overdraft withdrawl ok t/018_anon_class...................................... 1..19 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - ... the package exists ok 4 - ... got an anon class package name ok 5 - ... got an empty superclass list ok 6 - ... can add a superclass to anon class ok 7 - ... got the right superclass list ok 8 - ... no foo method ok 9 - ... added a method to my anon-class ok 10 - ... we have a foo method now ok 11 - The object isa Class::MOP::Class::__ANON__::SERIAL::2 ok 12 - The object isa Foo ok 13 - ... got the right return value of our foo method ok 14 - ... got the right return value of our bar method ok 15 - ... the package still exists ok 16 - ... the package no longer exists ok 17 - The object isa Class::MOP::Class::__ANON__::SERIAL::2 ok 18 - ... but the new instance is not a Foo ok 19 - ... and it can no longer call the foo method ok t/019_anon_class_keep_alive........................... 1..11 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class::__ANON__::SERIAL::2 ok 3 - The object isa Class::MOP::Class ok 4 - ... Anonymous instance isa Foo isa Foo ok 5 - ... Anonymous instance can foo ok 6 - ... Anonymous instance has method foo ok 7 - ... Anonymous instance still has attribute bar ok 8 - ... Anonymous instance still has attribute baz ok 9 - ... Anonymous instance still has correct bar value ok 10 - ... Anonymous instance still has correct baz value ok 11 - ... Anonymous instance has class precedence list ok t/020_attribute....................................... 1..97 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Attribute; ok 3 - The object isa Class::MOP::Attribute ok 4 - ... $attr->name == $foo ok 5 - ... $attr does have an init_arg ok 6 - ... $attr init_arg is the name ok 7 - ... $attr does not have an accessor ok 8 - ... $attr does not have an reader ok 9 - ... $attr does not have an writer ok 10 - ... $attr does not have an default ok 11 - ... $attr does not have a builder ok 12 - The object isa Class::MOP::Class ok 13 - ... attached a class successfully ok 14 - ... the class was associated correctly ok 15 - ... $attr does not have an read method ok 16 - ... $attr does not have an write method ok 17 - ... it is a plain old sub ok 18 - ... it is a plain old sub ok 19 - ... it is a plain old sub ok 20 - ... it is a plain old sub ok 21 - The object isa Class::MOP::Attribute ok 22 - ... but they are different instances ok 23 - ... the associated classes are the same though ok 24 - ... the associated classes are the same though ok 25 - ... the associated classes are the same though ok 26 - ... but they are the same inside ok 27 - The object isa Class::MOP::Attribute ok 28 - ... $attr->name == $foo ok 29 - ... $attr does have an init_arg ok 30 - ... $attr->init_arg == -foo ok 31 - ... $attr does have an default ok 32 - ... $attr->default == BAR ok 33 - ... $attr does not have a builder ok 34 - ... $attr does not have an accessor ok 35 - ... $attr does not have an reader ok 36 - ... $attr does not have an writer ok 37 - ... $attr does not have an read method ok 38 - ... $attr does not have an write method ok 39 - ... it is a plain old sub ok 40 - ... it is a plain old sub ok 41 - ... it is a plain old sub ok 42 - ... it is a plain old sub ok 43 - The object isa Class::MOP::Attribute ok 44 - ... but they are different instances ok 45 - ... the associated classes are the same though ok 46 - ... the associated class is actually undef ok 47 - ... the associated class is actually undef ok 48 - ... but they are the same inside ok 49 - The object isa Class::MOP::Attribute ok 50 - ... $attr->name == $foo ok 51 - ... $attr does have an init_arg ok 52 - ... $attr->init_arg == -foo ok 53 - ... $attr does have an default ok 54 - ... $attr->default == BAR ok 55 - ... $attr does have an accessor ok 56 - ... $attr->accessor == foo ok 57 - ... $attr does not have an reader ok 58 - ... $attr does not have an writer ok 59 - ... $attr does not have an read method ok 60 - ... $attr does not have an write method ok 61 - ... it is not a plain old sub ok 62 - ... it is not a plain old sub ok 63 - ... it is a plain old sub ok 64 - ... it is a plain old sub ok 65 - The object isa Class::MOP::Attribute ok 66 - ... but they are different instances ok 67 - ... but they are the same inside ok 68 - The object isa Class::MOP::Attribute ok 69 - ... $attr->name == $foo ok 70 - ... $attr does have an init_arg ok 71 - ... $attr->init_arg == -foo ok 72 - ... $attr does have an default ok 73 - ... $attr->default == BAR ok 74 - ... $attr does have an reader ok 75 - ... $attr->reader == get_foo ok 76 - ... $attr does have an writer ok 77 - ... $attr->writer == set_foo ok 78 - ... $attr does not have an accessor ok 79 - ... $attr does not have an read method ok 80 - ... $attr does not have an write method ok 81 - ... it is not a plain old sub ok 82 - ... it is not a plain old sub ok 83 - ... it is a plain old sub ok 84 - ... it is a plain old sub ok 85 - The object isa Class::MOP::Attribute ok 86 - ... but they are different instances ok 87 - ... but they are the same inside ok 88 - The object isa Class::MOP::Attribute ok 89 - The object isa Class::MOP::Attribute ok 90 - ... but they are different instances ok 91 - ... we changes the name parameter ok 92 - ... $attr->name == $foo ok 93 - ... $attr_clone->name == $bar ok 94 - The object isa Class::MOP::Attribute ok 95 - ... $attr does not have a default ok 96 - ... $attr does have a builder ok 97 - ... $attr->builder == foo_builder ok t/021_attribute_errors_and_edge_cases................. 1..29 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Attribute; ok 3 - ... no refs for defaults ok 4 - ... no refs for defaults ok 5 - ... no refs for defaults ok 6 - ... no refs for defaults ok 7 - ... no refs for defaults ok 8 - ... no refs for builders ok 9 - ... no refs for builders ok 10 - ... no refs for builders ok 11 - ... no refs for builders ok 12 - ... no refs for builders ok 13 - ... no default AND builder ok 14 - ... no name argument ok 15 - ... bad name argument ok 16 - ... bad name argument ok 17 - ... attach_to_class died as expected ok 18 - ... attach_to_class died as expected ok 19 - ... attach_to_class died as expected ok 20 - ... bad reader format ok 21 - ... cannot find "fail" type generator ok 22 - ... failed to generate accessors correctly ok 23 - The object isa Class::MOP::Class ok 24 - Bar->can('has_test') ok 25 - ... removed the $test attribute ok 26 - ... Bar no longer has the "has_test" method ok 27 - ... can create accessors with reader/writers ok 28 - ... can create accessors with reader/writers ok 29 - ... can create accessors with reader/writers ok t/022_attribute_duplication........................... 1..17 ok 1 - use Class::MOP; ok 2 - Foo->can('get_bar') ok 3 - Foo->can('set_bar') ok 4 - ... Foo has the attribute bar ok 5 - ... the bar attribute has the reader get_bar ok 6 - ... the bar attribute has the writer set_bar ok 7 - ... and the bar attribute is associated with Foo->meta ok 8 - ... Foo no longer has the get_bar method ok 9 - ... Foo no longer has the set_bar method ok 10 - Foo->can('assign_bar') ok 11 - ... Foo still has the attribute bar ok 12 - ... this is a new bar attribute ok 13 - ... and the old bar attribute is no longer associated with Foo->meta ok 14 - ... and the new bar attribute *is* associated with Foo->meta ok 15 - ... the bar attribute no longer has the reader get_bar ok 16 - ... the bar attribute no longer has the reader set_bar ok 17 - ... the bar attribute now has the reader assign_bar ok t/023_attribute_get_read_write........................ 1..35 ok 1 - use Class::MOP; ok 2 - Foo->can('get_bar') ok 3 - Foo->can('set_bar') ok 4 - Foo->can('baz') ok 5 - Foo->can('get_gorch') ok 6 - ... Foo has the attribute bar ok 7 - ... Foo has the attribute baz ok 8 - ... Foo has the attribute gorch ok 9 - ... the bar attribute has the reader get_bar ok 10 - ... the bar attribute has the writer set_bar ok 11 - ... and the bar attribute is associated with Foo->meta ok 12 - ... $attr does have an read method ok 13 - ... $attr does have an write method ok 14 - The object isa Class::MOP::Method ok 15 - The object isa Class::MOP::Method ok 16 - ... it is the sub we are looking for ok 17 - ... it is the sub we are looking for ok 18 - ... it is a plain old sub ok 19 - ... it is a plain old sub ok 20 - ... the bar attribute has the accessor baz ok 21 - ... and the bar attribute is associated with Foo->meta ok 22 - ... $attr does have an read method ok 23 - ... $attr does have an write method ok 24 - The object isa Class::MOP::Method ok 25 - The object isa Class::MOP::Method ok 26 - ... they are the same method ok 27 - ... it is the sub we are looking for ok 28 - ... it is the sub we are looking for ok 29 - ... the gorch attribute has the reader get_gorch (HASH ref) ok 30 - ... and the gorch attribute is associated with Foo->meta ok 31 - ... $attr does have an read method ok 32 - ... $attr does not have an write method ok 33 - The object isa Class::MOP::Method ok 34 - ... it is not a plain old sub ok 35 - ... it is the sub we are looking for ok t/030_method.......................................... 1..25 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Method; ok 3 - ... instance and class both lead to the same meta ok 4 - ... our package is main:: ok 5 - ... our sub name is __ANON__ ok 6 - ... our subs full name is main::__ANON__ ok 7 - ... cant call this method without some code ok 8 - ... cant call this method without some code ok 9 - ... cant call this method without some code ok 10 - ... cant call this method with a class ok 11 - ... cant call this method with a class ok 12 - ... cant call this method with a class ok 13 - The object isa Class::MOP::Class ok 14 - ... Class::MOP::Method->has_method(wrap) ok 15 - ... our package is Class::MOP::Method ok 16 - ... our sub name is "wrap" ok 17 - ... Class::MOP::Method->has_method(package_name) ok 18 - ... our package is Class::MOP::Method ok 19 - ... our sub name is "package_name" ok 20 - ... Class::MOP::Method->has_method(name) ok 21 - ... our package is Class::MOP::Method ok 22 - ... our sub name is "name" ok 23 - ... bad args for &wrap ok 24 - ... bad args for &wrap ok 25 - ... bad args for &wrap ok t/031_method_modifiers................................ 1..26 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Method; ok 3 - The object isa Class::MOP::Method ok 4 - ... got the right return value from method ok 5 - The object isa Class::MOP::Method::Wrapped ok 6 - The object isa Class::MOP::Method ok 7 - ... got the right return value from the wrapped method ok 8 - ... added the before modifier okay ok 9 - ... got the right return value from the wrapped method (w/ before) ok 10 - ... added the after modifier okay ok 11 - ... got the right return value from the wrapped method (w/ before) ok 12 - The object isa Class::MOP::Method ok 13 - ... got the right value from the wrapped method ok 14 - The object isa Class::MOP::Method::Wrapped ok 15 - The object isa Class::MOP::Method ok 16 - ... got the right value from the wrapped method ok 17 - ... added the around modifier okay ok 18 - ... got the right results back from the around methods (in list context) ok 19 - ... got the right results back from the around methods (in scalar context) ok 20 - The object isa Class::MOP::Method ok 21 - The object isa Class::MOP::Method::Wrapped ok 22 - The object isa Class::MOP::Method ok 23 - ... added the before modifier okay ok 24 - ... added the around modifier okay ok 25 - ... added the after modifier okay ok 26 - ... got the right tracelog from all our before/around/after methods ok t/040_metaclass....................................... 1..12 ok 1 - use metaclass; ok 2 - Foo->can('meta') ok 3 - The object isa FooMeta ok 4 - The object isa Class::MOP::Class ok 5 - Bar->can('meta') ok 6 - The object isa BarMeta ok 7 - The object isa Class::MOP::Class ok 8 - ... got the right attribute metaobject ok 9 - ... got the right method metaobject ok 10 - Baz->can('meta') ok 11 - The object isa Class::MOP::Class ok 12 - ... metaclasses must be subclass of Class::MOP::Class ok t/041_metaclass_incompatability....................... 1..7 ok 1 - use metaclass; ok 2 - ... Foo.meta => Foo::Meta is compatible ok 3 - ... Bar.meta => Bar::Meta is compatible ok 4 - ... Foo::Foo.meta => Bar::Meta is not compatible ok 5 - ... Bar::Bar.meta => Foo::Meta is not compatible ok 6 - ... FooBar.meta => FooBar::Meta is compatible ok 7 - ... FooBar2.meta => FooBar::Meta is compatible ok t/042_metaclass_incompatibility_dynamic............... 1..7 ok 1 - use metaclass; ok 2 - ... Foo.meta => Foo::Meta is compatible ok 3 - ... Bar.meta => Bar::Meta is compatible ok 4 - ... Foo::Foo.meta => Bar::Meta is not compatible ok 5 - ... Bar::Bar.meta => Foo::Meta is not compatible ok 6 - ... FooBar.meta => FooBar::Meta is compatible ok 7 - ... FooBar2.meta => FooBar::Meta is compatible ok t/043_instance_metaclass_incompatibility.............. 1..7 ok 1 - use metaclass; ok 2 - ... Foo.meta => Foo::Meta is compatible ok 3 - ... Bar.meta => Bar::Meta is compatible ok 4 - ... Foo::Foo.meta => Bar::Meta is not compatible ok 5 - ... Bar::Bar.meta => Foo::Meta is not compatible ok 6 - ... FooBar.meta => FooBar::Meta is compatible ok 7 - ... FooBar2.meta => FooBar::Meta is compatible ok t/044_instance_metaclass_incompatibility_dynamic...... 1..7 ok 1 - use metaclass; ok 2 - ... Foo.meta => Foo::Meta is compatible ok 3 - ... Bar.meta => Bar::Meta is compatible ok 4 - ... Foo::Foo.meta => Bar::Meta is not compatible ok 5 - ... Bar::Bar.meta => Foo::Meta is not compatible ok 6 - ... FooBar.meta => FooBar::Meta is compatible ok 7 - ... FooBar2.meta => FooBar::Meta is compatible ok t/045_metaclass_loads_classes......................... 1..9 ok 1 - use Class::MOP; ok 2 - ... Correct metaclass isa MyMetaClass ok 3 - ... metaclass loaded ok 4 - ... Correct attribute metaclass ok 5 - ... attribute metaclass loaded ok 6 - ... Correct instance metaclass ok 7 - ... instance metaclass loaded ok 8 - ... Correct method metaclass ok 9 - ... method metaclass loaded ok t/046-rebless......................................... 1..27 ok 1 - Parent->new gives a Parent ok 2 - Parent->whoami gives parent ok 3 - Parent->parent gives parent ok 4 - Parent->child method doesn't exist ok 5 - rebless_instance really reblessed the instance ok 6 - reblessed->whoami gives child ok 7 - reblessed->parent gives parent ok 8 - reblessed->child gives child ok 9 - threw Regexp ((?-xism:You may rebless only into a subclass of \(Child\), of which \(LeftField\) isn't\.)) ok 10 - threw Regexp ((?-xism:You may rebless only into a subclass of \(Child\), of which \(NonExistent\) isn't\.)) ok 11 - sanity check ok 12 - meta gives a Class::MOP::Class ok 13 - this Class::MOP::Class instance is for Parent ok 14 - metaclass has "new" method ok 15 - metaclass has "whoami" method ok 16 - metaclass has "parent" method ok 17 - new_object gives a Parent ok 18 - rebless really reblessed ok 19 - meta gives a Class::MOP::Class ok 20 - this Class::MOP::Class instance is for Child ok 21 - metaclass has "new" method ok 22 - metaclass has "parent" method ok 23 - no "new" method in this class ok 24 - no "parent" method in this class ok 25 - metaclass has "whoami" method ok 26 - metaclass has "child" method ok 27 - new_object gives a Child ok t/050_scala_style_mixin_composition................... 1..0 # Skip SUPER 1.10 required for this test skipped: SUPER 1.10 required for this test t/060_instance........................................ 1..46 ok 1 - use Class::MOP::Instance; ok 2 - Class::MOP::Instance->can('new') ok 3 - Class::MOP::Instance->can('create_instance') ok 4 - Class::MOP::Instance->can('bless_instance_structure') ok 5 - Class::MOP::Instance->can('get_all_slots') ok 6 - Class::MOP::Instance->can('initialize_all_slots') ok 7 - Class::MOP::Instance->can('deinitialize_all_slots') ok 8 - Class::MOP::Instance->can('get_slot_value') ok 9 - Class::MOP::Instance->can('set_slot_value') ok 10 - Class::MOP::Instance->can('initialize_slot') ok 11 - Class::MOP::Instance->can('deinitialize_slot') ok 12 - Class::MOP::Instance->can('is_slot_initialized') ok 13 - Class::MOP::Instance->can('weaken_slot_value') ok 14 - Class::MOP::Instance->can('strengthen_slot_value') ok 15 - Class::MOP::Instance->can('inline_get_slot_value') ok 16 - Class::MOP::Instance->can('inline_set_slot_value') ok 17 - Class::MOP::Instance->can('inline_initialize_slot') ok 18 - Class::MOP::Instance->can('inline_deinitialize_slot') ok 19 - Class::MOP::Instance->can('inline_is_slot_initialized') ok 20 - Class::MOP::Instance->can('inline_weaken_slot_value') ok 21 - Class::MOP::Instance->can('inline_strengthen_slot_value') ok 22 - The object isa Class::MOP::Instance ok 23 - ... get all slots for Foo ok 24 - The object isa Class::MOP::Instance ok 25 - ... they are not the same instance ok 26 - ... get all slots for Bar ok 27 - The object isa Foo ok 28 - The object isa Foo ok 29 - ... not the same instance ok 30 - ... but the same structure ok 31 - slot not initialized ok 32 - ... no value for slot ok 33 - ... but no value for slot ok 34 - ... get slot value ok 35 - ... Foo cant moosen ok 36 - ... white box test of weaken ok 37 - weak value is fetchable ok 38 - return value not weak ok 39 - weak value destroyed ok 40 - value not weak yet ok 41 - weak value destroyed ok 42 - ... white box test of weaken ok 43 - ... white box test of weaken ok 44 - weak value can be strengthened ok 45 - slot deinitialized ok 46 - ... no value for slot ok t/061_instance_inline................................. 1..16 ok 1 - use Class::MOP::Instance; ok 2 - ... got the right code for get_slot_value ok 3 - ... got the right code for set_slot_value ok 4 - ... got the right code for initialize_slot ok 5 - ... got the right code for get_slot_value ok 6 - ... got the right code for weaken_slot_value ok 7 - ... got the right code for strengthen_slot_value ok 8 - ... got the right code for get_slot_value ok 9 - ... got the right code for set_slot_value ok 10 - ... got the right code for initialize_slot ok 11 - ... got the right code for get_slot_value ok 12 - ... got the right code for weaken_slot_value ok 13 - ... got the right code for strengthen_slot_value ok 14 - ... got the right code string for accessor ok 15 - ... got the right code string for reader ok 16 - ... got the right code string for writer ok t/070_immutable_metaclass............................. 1..83 ok 1 - use Class::MOP; ok 2 - Created immutable transformer ok 3 - ... transformer isa Class::MOP::Immutable isa Class::MOP::Immutable ok 4 - ... transformer has correct metaclass ok 5 - ... immutable_metaclass is an anonymous class ok 6 - ... immutable_metaclass is not mutable ok 7 - ... immutable_metaclass is immutable ok 8 - ... immutable_metaclass make_mutable is noop ok 9 - ... immutable_metaclass meta hack works ok 10 - ... immutable_metaclass superclasses are correct ok 11 ok 12 - ... checking the Foo metaclass ok 13 - ... our class is mutable ok 14 - ... our class is not immutable ok 15 - ... changed Foo to be immutable ok 16 - ... make immutable now returns nothing ok 17 - ... our class is no longer mutable ok 18 - ... our class is now immutable ok 19 - The object isa Class::MOP::Class ok 20 - ... exception thrown as expected ok 21 - ... exception thrown as expected ok 22 - ... exception thrown as expected ok 23 - ... exception thrown as expected ok 24 - ... exception thrown as expected ok 25 - ... exception thrown as expected ok 26 - ... exception thrown as expected ok 27 - ... got the superclasses okay ok 28 - ... but could not set the superclasses okay ok 29 - ... got the meta instance okay ok 30 - The object isa Class::MOP::Instance ok 31 - ... and we know it is cached ok 32 - ... got the class precedence list okay ok 33 - ... we just have ourselves in the class precedence list ok 34 - ... got the attribute list okay ok 35 - ... got the right list of attributes ok 36 - ... checking the Bar metaclass ok 37 - ... our class is mutable ok 38 - ... our class is not immutable ok 39 - ... changed Bar to be immutable ok 40 - ... make immutable now returns nothing ok 41 - ... our class is no longer mutable ok 42 - ... our class is now immutable ok 43 - The object isa Class::MOP::Class ok 44 - ... exception thrown as expected ok 45 - ... exception thrown as expected ok 46 - ... exception thrown as expected ok 47 - ... exception thrown as expected ok 48 - ... exception thrown as expected ok 49 - ... exception thrown as expected ok 50 - ... exception thrown as expected ok 51 - ... got the superclasses okay ok 52 - ... but could not set the superclasses okay ok 53 - ... got the meta instance okay ok 54 - The object isa Class::MOP::Instance ok 55 - ... and we know it is cached ok 56 - ... got the class precedence list okay ok 57 - ... we just have ourselves in the class precedence list ok 58 - ... got the attribute list okay ok 59 - ... got the right list of attributes ok 60 - ... checking the Baz metaclass ok 61 - ... our class is mutable ok 62 - ... our class is not immutable ok 63 - ... changed Baz to be immutable ok 64 - ... make immutable now returns nothing ok 65 - ... our class is no longer mutable ok 66 - ... our class is now immutable ok 67 - The object isa Class::MOP::Class ok 68 - ... exception thrown as expected ok 69 - ... exception thrown as expected ok 70 - ... exception thrown as expected ok 71 - ... exception thrown as expected ok 72 - ... exception thrown as expected ok 73 - ... exception thrown as expected ok 74 - ... exception thrown as expected ok 75 - ... got the superclasses okay ok 76 - ... but could not set the superclasses okay ok 77 - ... got the meta instance okay ok 78 - The object isa Class::MOP::Instance ok 79 - ... and we know it is cached ok 80 - ... got the class precedence list okay ok 81 - ... we just have ourselves in the class precedence list ok 82 - ... got the attribute list okay ok 83 - ... got the right list of attributes ok t/071_immutable_w_custom_metaclass.................... 1..15 ok 1 - use Class::MOP; ok 2 - ... we survive the metaclass incompatability test ok 3 - ... Baz is mutable ok 4 - Foo and Bar immutable metaclasses match ok 5 - Baz->meta blessed as MyMetaClass ok 6 - ... Baz can do method before immutable ok 7 - ... meta can do method before immutable ok 8 - Baz is now immutable ok 9 - ... Baz is immutable ok 10 - Baz->meta isa MyMetaClass ok 11 - ... Baz can do method after imutable ok 12 - ... meta can do method after immutable ok 13 - Baz and Bar immutable metaclasses are different ok 14 - Baz is now mutable ok 15 - ... Baz is mutable again ok t/072_immutable_w_constructors........................ 1..93 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Immutable; ok 3 - ... checking the Foo metaclass ok 4 - The object isa Class::MOP::Method::Accessor ok 5 - The object isa Class::MOP::Method ok 6 - ... the bar accessor is not inlined ok 7 - ... our class is not immutable ok 8 - ... changed Foo to be immutable ok 9 - ... our class is now immutable ok 10 - The object isa Class::MOP::Class ok 11 - Foo->can('new') ok 12 - The object isa Foo ok 13 - ... got the right default value ok 14 - The object isa Foo ok 15 - ... got the right parameter value ok 16 - The object isa Bar ok 17 - The object isa Foo ok 18 - ... got the right inherited parameter value ok 19 - ... got the right inherited parameter value ok 20 - The object isa Class::MOP::Method::Accessor ok 21 - The object isa Class::MOP::Method ok 22 - ... the bar accessor is still not inlined ok 23 - ... checking the Bar metaclass ok 24 - The object isa Class::MOP::Method::Accessor ok 25 - The object isa Class::MOP::Method ok 26 - ... the bar accessor is not inlined ok 27 - The object isa Class::MOP::Method::Accessor ok 28 - The object isa Class::MOP::Method ok 29 - ... the baz accessor is not inlined ok 30 - ... our class is not immutable ok 31 - ... changed Bar to be immutable ok 32 - ... our class is now immutable ok 33 - The object isa Class::MOP::Class ok 34 - Bar->can('new') ok 35 - The object isa Bar ok 36 - ... got the right default value ok 37 - ... got the right default value ok 38 - The object isa Bar ok 39 - ... got the right parameter value ok 40 - ... got the right parameter value ok 41 - The object isa Class::MOP::Method::Accessor ok 42 - The object isa Class::MOP::Method ok 43 - ... the bar accessor is still not inlined ok 44 - The object isa Class::MOP::Method::Accessor ok 45 - The object isa Class::MOP::Method ok 46 - ... the baz accessor is not inlined ok 47 - ... checking the Bar metaclass ok 48 - The object isa Class::MOP::Method::Accessor ok 49 - The object isa Class::MOP::Method ok 50 - ... the bar accessor is not inlined ok 51 - The object isa Class::MOP::Method::Accessor ok 52 - The object isa Class::MOP::Method ok 53 - ... the baz accessor is inlined ok 54 - The object isa Class::MOP::Method::Accessor ok 55 - The object isa Class::MOP::Method ok 56 - ... the baz accessor is not inlined ok 57 - ... our class is not immutable ok 58 - ... changed Bar to be immutable ok 59 - ... our class is now immutable ok 60 - The object isa Class::MOP::Class ok 61 - ... no constructor was made ok 62 - The object isa Bar ok 63 - ... got the right default value ok 64 - ... got the right default value ok 65 - The object isa Baz ok 66 - ... got the right parameter value ok 67 - ... got the right parameter value ok 68 - ... got the right parameter value ok 69 - The object isa Class::MOP::Method::Accessor ok 70 - The object isa Class::MOP::Method ok 71 - ... the bar accessor is still not inlined ok 72 - The object isa Class::MOP::Method::Accessor ok 73 - The object isa Class::MOP::Method ok 74 - ... the baz accessor is not inlined ok 75 - The object isa Class::MOP::Method::Accessor ok 76 - The object isa Class::MOP::Method ok 77 - ... the baz accessor is not inlined ok 78 - ...Buzz instantiated successfully ok 79 - ...bar is not set ok 80 - ...bar returns undef ok 81 - ...bar was not autovivified ok 82 - ...bar is set ok 83 - ...bar is undef ok 84 - ...bar is no longerset ok 85 - ...Buzz instantiated successfully ok 86 - ...bar is set ok 87 - ...bar is undef ok 88 - ...Buzz instantiated successfully ok 89 - ...bah is set ok 90 - ...bah returns "BAH" ok 91 - ...Buzz instantiated successfully ok 92 - ...bah is set ok 93 - ...bah is undef ok t/073_make_mutable.................................... 1..108 ok 1 - use Class::MOP; ok 2 - ... checking the Baz metaclass ok 3 - ... changed Baz to be immutable ok 4 - ... our class is no longer mutable ok 5 - ... our class is now immutable ok 6 - ... make immutable now returns nothing ok 7 - ... inlined constructor created ok 8 - ... changed Baz to be mutable ok 9 - ... our class is mutable ok 10 - ... our class is not immutable ok 11 - ... make mutable now returns nothing ok 12 - ... inlined constructor removed ok 13 - ... no straneous hashkeys ok 14 - ... Baz->meta isa Class::MOP::Class isa Class::MOP::Class ok 15 - ... added method ok 16 - ... method xyz works ok 17 - ... aliased method ok 18 - ... method zxy works ok 19 - ... removed method ok 20 - ... removed aliased method ok 21 - ... added attribute ok 22 - ... Baz can fickle ok 23 - ... removed attribute ok 24 - ... added package symbol ok 25 - ... values match ok 26 - ... removed it ok 27 - ... values match ok 28 - ... got the superclasses okay ok 29 - ... set the superclasses ok 30 - ... set the superclasses okay ok 31 - ... reset superclasses ok 32 - ... reset the superclasses okay ok 33 - ... get_meta_instance works ok 34 - ... compute_all_applicable_attributes works ok 35 - ... class_precedence_list works ok 36 - ... get_method_map works ok 37 - ... changed Baz to be immutable again ok 38 - ... inlined constructor recreated ok 39 - Changed Baz to be immutable ok 40 - ... changed Baz to be mutable ok 41 - ... changed Baz to be immutable ok 42 - ... exception thrown as expected ok 43 - ... exception thrown as expected ok 44 - ... exception thrown as expected ok 45 - ... exception thrown as expected ok 46 - ... exception thrown as expected ok 47 - ... exception thrown as expected ok 48 - ... exception thrown as expected ok 49 - ... got the superclasses okay ok 50 - ... set the superclasses ok 51 - ... get_meta_instance works ok 52 - ... compute_all_applicable_attributes works ok 53 - ... class_precedence_list works ok 54 - ... get_method_map works ok 55 - Superclass is immutable ok 56 - We have an anon metaclass ok 57 - ... our anon class is mutable ok 58 - ... our anon class is not immutable ok 59 - ... changed class to be immutable ok 60 - ... our class is no longer mutable ok 61 - ... our class is now immutable ok 62 - ... make immutable now returns nothing ok 63 - ... changed Baz to be mutable ok 64 - ... our class is mutable ok 65 - ... our class is not immutable ok 66 - ... make mutable now returns nothing ok 67 - ... still marked as an anon class ok 68 - ... no straneous hashkeys ok 69 - ... no straneous methods ok 70 - ... Anon class isa Class::MOP::Class isa Class::MOP::Class ok 71 - ... added method ok 72 - ... method xyz works ok 73 - ... aliased method ok 74 - ... method zxy works ok 75 - ... removed method ok 76 - ... removed aliased method ok 77 - ... added attribute ok 78 - ... instance can fickle ok 79 - ... removed attribute ok 80 - ... added package symbol ok 81 - ... values match ok 82 - ... removed it ok 83 - ... values match ok 84 - ... got the superclasses okay ok 85 - ... set the superclasses ok 86 - ... set the superclasses okay ok 87 - ... reset superclasses ok 88 - ... reset the superclasses okay ok 89 - ... get_meta_instance works ok 90 - ... compute_all_applicable_attributes works ok 91 - ... class_precedence_list works ok 92 - ... get_method_map works ok 93 - ... changed class to be immutable ok 94 - ... changed class to be mutable ok 95 - ... changed class to be immutable ok 96 - ... exception thrown as expected ok 97 - ... exception thrown as expected ok 98 - ... exception thrown as expected ok 99 - ... exception thrown as expected ok 100 - ... exception thrown as expected ok 101 - ... exception thrown as expected ok 102 - ... exception thrown as expected ok 103 - ... got the superclasses okay ok 104 - ... set the superclasses ok 105 - ... get_meta_instance works ok 106 - ... compute_all_applicable_attributes works ok 107 - ... class_precedence_list works ok 108 - ... get_method_map works ok t/080_meta_package.................................... 1..88 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Package; ok 3 - ... the %foo slot has not been created yet ok 4 - ... the meta agrees ok 5 - ... created %Foo::foo successfully ok 6 - ... SCALAR shouldnt have been created too ok 7 - ... ARRAY shouldnt have been created too ok 8 - ... CODE shouldnt have been created too ok 9 - ... the %foo slot was created successfully ok 10 - ... the meta agrees ok 11 - ... our %foo was initialized correctly ok 12 - ... our %foo was initialized correctly ok 13 - ... got the right package variable back ok 14 - ... our %foo is the same as the metas ok 15 - ... our %foo was updated correctly ok 16 - ... our %foo was updated correctly ok 17 - ... the @bar slot has not been created yet ok 18 - ... created @Foo::bar successfully ok 19 - ... the @bar slot was created successfully ok 20 - ... the meta agrees ok 21 - ... SCALAR shouldnt have been created too ok 22 - ... HASH shouldnt have been created too ok 23 - ... CODE shouldnt have been created too ok 24 - ... our @bar was initialized correctly ok 25 - ... our @bar was initialized correctly ok 26 - ... the $baz slot has not been created yet ok 27 - ... created $Foo::baz successfully ok 28 - ... the $baz slot was created successfully ok 29 - ... the meta agrees ok 30 - ... ARRAY shouldnt have been created too ok 31 - ... HASH shouldnt have been created too ok 32 - ... CODE shouldnt have been created too ok 33 - ... got the right value back ok 34 - ... our $baz was assigned to correctly ok 35 - ... the meta agrees ok 36 - ... the &funk slot has not been created yet ok 37 - ... created &Foo::funk successfully ok 38 - ... the &funk slot was created successfully ok 39 - ... the meta agrees ok 40 - ... SCALAR shouldnt have been created too ok 41 - ... ARRAY shouldnt have been created too ok 42 - ... HASH shouldnt have been created too ok 43 - ... our &funk exists ok 44 - ... got the right value from the function ok 45 - ... created @Foo::foo successfully ok 46 - ... the @foo slot was added successfully ok 47 - ... got the right values for @Foo::foo ok 48 - ... created &Foo::foo successfully ok 49 - ... the meta agrees ok 50 - ... got the right value for &Foo::foo ok 51 - ... created $Foo::foo successfully ok 52 - ... the meta agrees ok 53 - ... got the right scalar value back ok 54 - ... got the right value from the scalar ok 55 - ... removed %Foo::foo successfully ok 56 - ... the %foo slot was removed successfully ok 57 - ... the @foo slot still exists ok 58 - ... the &foo slot still exists ok 59 - ... the $foo slot still exists ok 60 - ... got the right values for @Foo::foo ok 61 - ... got the right value for &Foo::foo ok 62 - ... got the right value for $Foo::foo ok 63 - ... the %foo slot has been removed successfully ok 64 - ... the @foo slot has NOT been removed ok 65 - ... the &foo slot has NOT been removed ok 66 - ... the $foo slot has NOT been removed ok 67 - ... removed &Foo::foo successfully ok 68 - ... the &foo slot no longer exists ok 69 - ... the @foo slot still exists ok 70 - ... the $foo slot still exists ok 71 - ... got the right values for @Foo::foo ok 72 - ... got the right value for $Foo::foo ok 73 - ... the %foo slot has been removed successfully ok 74 - ... the &foo slot has now been removed ok 75 - ... the @foo slot has NOT been removed ok 76 - ... the $foo slot has NOT been removed ok 77 - ... removed $Foo::foo successfully ok 78 - ... the $foo slot no longer exists ok 79 - ... the @foo slot still exists ok 80 - ... got the right values for @Foo::foo ok 81 - ... the %foo slot has been removed successfully ok 82 - ... the &foo slot has now been removed ok 83 - ... the $foo slot has now been removed ok 84 - ... the @foo slot has NOT been removed ok 85 - ... no sigil for bar ok 86 - ... no sigil for bar ok 87 - ... no sigil for bar ok 88 - ... no sigil for bar ok t/081_meta_package_extension.......................... 1..16 ok 1 - use Class::MOP; ok 2 - The object isa My::Meta::Package ok 3 - The object isa Class::MOP::Package ok 4 - ... the %foo slot has not been created yet ok 5 - ... the meta agrees ok 6 - ... the %foo symbol is created succcessfully ok 7 - ... the %foo slot has not been created in the actual Foo package ok 8 - ... the meta agrees ok 9 - ... got the right package variable back ok 10 - ... our %foo is the same as the metas ok 11 - ... the @bar slot has not been created yet ok 12 - ... created @Foo::bar successfully ok 13 - ... the @bar slot has still not been created ok 14 - ... the %baz slot has not been created yet ok 15 - ... created %Foo::baz successfully ok 16 - ... the %baz slot has still not been created ok t/100_BinaryTree_test................................. 1..70 ok 1 - use Class::MOP; ok 2 - ... the binary tree class is not loaded ok 3 - ... loaded the BinaryTree class without dying ok 4 - ... the binary tree class is now loaded ok 5 - BinaryTree->can('new') ok 6 - BinaryTree->can('setLeft') ok 7 - BinaryTree->can('setRight') ok 8 - The object isa BinaryTree ok 9 - BinaryTree->can('isRoot') ok 10 - ... this is the root ok 11 - BinaryTree->can('isLeaf') ok 12 - ... this is not a leaf node ok 13 - ... this is a leaf node ok 14 - BinaryTree->can('hasLeft') ok 15 - ... this has a left node ok 16 - BinaryTree->can('hasRight') ok 17 - ... this has a right node ok 18 - BinaryTree->can('getUID') ok 19 - ... our UID is derived from the stringified object ok 20 - BinaryTree->can('getNodeValue') ok 21 - ... got what we expected ok 22 - BinaryTree->can('getLeft') ok 23 - The object isa BinaryTree ok 24 - ... got what we expected ok 25 - BinaryTree->can('getParent') ok 26 - The object isa BinaryTree ok 27 - .. got what we expected ok 28 - BinaryTree->can('getRight') ok 29 - The object isa BinaryTree ok 30 - ... got what we expected ok 31 - BinaryTree->can('getParent') ok 32 - The object isa BinaryTree ok 33 - .. got what we expected ok 34 - BinaryTree->can('setUID') ok 35 - ... our UID is not what we expected ok 36 - BinaryTree->can('setNodeValue') ok 37 - ... got what we expected ok 38 - BinaryTree->can('removeLeft') ok 39 - The object isa BinaryTree ok 40 - ... we dont have a left node anymore ok 41 - ... and we are not a leaf node ok 42 - ... we have our left node again ok 43 - ... and it is what we told it to be ok 44 - The object isa BinaryTree ok 45 - ... our left leaf is a leaf ok 46 - ... we dont have a left leaf node anymore ok 47 - ... we have our left leaf node again ok 48 - ... and it is what we told it to be ok 49 - BinaryTree->can('removeRight') ok 50 - The object isa BinaryTree ok 51 - ... we dont have a right node anymore ok 52 - ... and we are not a leaf node ok 53 - ... we have our right node again ok 54 - ... and it is what we told it to be ok 55 - The object isa BinaryTree ok 56 - ... our right leaf is a leaf ok 57 - ... we dont have a right leaf node anymore ok 58 - ... we have our right leaf node again ok 59 - ... and it is what we told it to be ok 60 - The object isa BinaryTree ok 61 - BinaryTree->can('size') ok 62 - ... we have 14 nodes in the tree ok 63 - BinaryTree->can('height') ok 64 - ... the tree is 6 nodes tall ok 65 - The object isa BinaryTree ok 66 - ... check that our tree starts out correctly ok 67 - BinaryTree->can('mirror') ok 68 - ... check that our tree ends up correctly ok 69 - The object isa BinaryTree ok 70 - ... this should be the reverse of the original ok t/101_InstanceCountingClass_test...................... 1..12 ok 1 - use Class::MOP; ok 2 - require 'examples/InstanceCountingClass.pod'; ok 3 - ... our Foo count is 0 ok 4 - ... our Bar count is 0 ok 5 - The object isa Foo ok 6 - ... our Foo count is now 1 ok 7 - ... our Bar count is still 0 ok 8 - The object isa Bar ok 9 - ... our Foo count is still 1 ok 10 - ... our Bar count is now 1 ok 11 - ... our Foo count is now 10 ok 12 - ... our Bar count is still 1 ok t/102_InsideOutClass_test............................. 1..89 ok 1 - use Class::MOP; ok 2 - require 'examples/InsideOutClass.pod'; ok 3 - The object isa Foo ok 4 - ... Foo is made with SCALAR ok 5 - Foo->can('foo') ok 6 - Foo->can('has_foo') ok 7 - Foo->can('get_bar') ok 8 - Foo->can('set_bar') ok 9 - ... Foo::foo is not defined yet ok 10 - ... Foo::foo is not defined yet ok 11 - ... Foo::bar has been initialized ok 12 - ... Foo::foo is defined now ok 13 - ... Foo::foo == "This is Foo" ok 14 - ... Foo::bar == 42 ok 15 - The object isa Foo ok 16 - ... Foo is made with SCALAR ok 17 - ... Foo2::foo is not defined yet ok 18 - ... Foo2::foo is not defined yet ok 19 - ... Foo2::bar has been initialized ok 20 - ... Foo2::bar == DONT PANIC ok 21 - ... Foo::bar == 42 ok 22 - The object isa Bar ok 23 - The object isa Foo ok 24 - ... Bar is made with SCALAR ok 25 - Bar->can('foo') ok 26 - Bar->can('has_foo') ok 27 - Bar->can('get_bar') ok 28 - Bar->can('set_bar') ok 29 - Bar->can('baz') ok 30 - Bar->can('has_baz') ok 31 - ... Bar::foo is not defined yet ok 32 - ... Bar::foo is not defined yet ok 33 - ... Bar::bar has been initialized ok 34 - ... Bar::baz is not defined yet ok 35 - ... Bar::baz is not defined yet ok 36 - ... Bar::foo is defined now ok 37 - ... Bar::foo == "This is Bar" ok 38 - ... Bar::bar has been initialized ok 39 - ... Bar::baz is defined now ok 40 - ... Bar::foo == "This is Bar" ok 41 - ... Bar::foo == "This is Bar" ok 42 - ... Bar::bar has been initialized ok 43 - The object isa Bar::Baz ok 44 - The object isa Bar ok 45 - The object isa Foo ok 46 - The object isa Baz ok 47 - ... Bar::Baz is made with SCALAR ok 48 - Bar::Baz->can('foo') ok 49 - Bar::Baz->can('has_foo') ok 50 - Bar::Baz->can('get_bar') ok 51 - Bar::Baz->can('set_bar') ok 52 - Bar::Baz->can('baz') ok 53 - Bar::Baz->can('has_baz') ok 54 - Bar::Baz->can('bling') ok 55 - ... Bar::Baz::bar has been initialized ok 56 - ... Bar::Baz::bling has been initialized ok 57 - ... Bar::Baz::foo is not defined yet ok 58 - ... Bar::Baz::foo is not defined yet ok 59 - ... Bar::Baz::baz is not defined yet ok 60 - ... Bar::Baz::baz is not defined yet ok 61 - ... Bar::Baz::foo is defined now ok 62 - ... Bar::Baz::foo == "This is Bar" ok 63 - ... Bar::Baz::bar has been initialized ok 64 - ... Bar::Baz::bling has been initialized ok 65 - ... Bar::Baz::baz is defined now ok 66 - ... Bar::Baz::foo == "This is Bar" ok 67 - ... Bar::Baz::foo == "This is Bar" ok 68 - ... Bar::Baz::bar has been initialized ok 69 - ... Bar::Baz::bling has been initialized ok 70 - ... there is a foo package variable in Foo ok 71 - ... there is a bar package variable in Foo ok 72 - ... got the right number of entries for Foo::foo ok 73 - ... got the right number of entries for Foo::bar ok 74 - ... no foo package variable in Bar ok 75 - ... no bar package variable in Bar ok 76 - ... there is a baz package variable in Bar ok 77 - ... got the right number of entries for Bar::foo ok 78 - ... got the right number of entries for Bar::bar ok 79 - ... got the right number of entries for Bar::baz ok 80 - ... there is a bar package variable in Baz ok 81 - ... got the right number of entries for Baz::bling ok 82 - ... no foo package variable in Bar::Baz ok 83 - ... no bar package variable in Bar::Baz ok 84 - ... no baz package variable in Bar::Baz ok 85 - ... no bar package variable in Baz::Baz ok 86 - ... got the right number of entries for Bar::Baz::foo ok 87 - ... got the right number of entries for Bar::Baz::bar ok 88 - ... got the right number of entries for Bar::Baz::baz ok 89 - ... got the right number of entries for Bar::Baz::bling ok t/103_Perl6Attribute_test............................. 1..10 ok 1 - use Class::MOP; ok 2 - require 'examples/Perl6Attribute.pod'; ok 3 - The object isa Foo ok 4 - Foo->can('foo') ok 5 - Foo->can('bar') ok 6 - Foo->can('baz') ok 7 - ... Foo.foo == undef ok 8 - ... Foo.foo == 42 ok 9 - ... Foo.bar == [] ok 10 - ... Foo.baz == {} ok t/104_AttributesWithHistory_test...................... 1..28 ok 1 - use Class::MOP; ok 2 - require 'examples/AttributesWithHistory.pod'; ok 3 - The object isa Foo ok 4 - Foo->can('foo') ok 5 - Foo->can('get_foo_history') ok 6 - Foo->can('set_bar') ok 7 - Foo->can('get_bar') ok 8 - Foo->can('get_bar_history') ok 9 - The object isa Foo ok 10 - ... foo is not yet defined ok 11 - ... got correct empty history for foo ok 12 - ... foo2 is not yet defined ok 13 - ... got correct empty history for foo2 ok 14 - ... foo == 42 ok 15 - ... got correct history for foo ok 16 - ... foo2 is still not yet defined ok 17 - ... still got correct empty history for foo2 ok 18 - ... foo is still == 42 ok 19 - ... still got correct history for foo ok 20 - ... foo2 == 100 ok 21 - ... got correct empty history for foo2 ok 22 - ... got correct history for foo ok 23 - ... bar is not yet defined ok 24 - ... got correct empty history for foo ok 25 - ... bar == "FOO" ok 26 - ... got correct history for foo ok 27 - ... got correct history for bar ok 28 - ... still have the correct history for foo ok t/105_ClassEncapsulatedAttributes_test................ 1..29 ok 1 - use Class::MOP; ok 2 - require 'examples/ClassEncapsulatedAttributes.pod'; ok 3 - The object isa Foo ok 4 - Foo->can('foo') ok 5 - Foo->can('has_foo') ok 6 - Foo->can('get_bar') ok 7 - Foo->can('set_bar') ok 8 - The object isa Bar ok 9 - Bar->can('foo') ok 10 - Bar->can('has_foo') ok 11 - Bar->can('get_bar') ok 12 - Bar->can('set_bar') ok 13 - ... Foo::has_foo == 1 ok 14 - ... Bar::has_foo == 1 ok 15 - ... got the right default value for Foo::foo ok 16 - ... got the right default value for Bar::foo ok 17 - ... got the right default value for Bar::SUPER::foo ok 18 - ... successfully set Foo::foo through Bar::SUPER::foo ok 19 - ... BAR::SUPER::has_foo == 0 ok 20 - ... Foo::has_foo (is still) 1 ok 21 - The object isa Bar ok 22 - Bar->can('foo') ok 23 - Bar->can('has_foo') ok 24 - Bar->can('get_bar') ok 25 - Bar->can('set_bar') ok 26 - ... Bar::has_foo == 1 ok 27 - ... Bar::SUPER_has_foo == 1 ok 28 - ... got the right default value for Bar::foo ok 29 - ... got the right default value for Bar::SUPER::foo ok t/106_LazyClass_test.................................. 1..26 ok 1 - use Class::MOP; ok 2 - require 'examples/LazyClass.pod'; ok 3 - The object isa BinaryTree ok 4 - ... node attribute has been initialized yet ok 5 - ... left attribute has not been initialized yet ok 6 - ... right attribute has not been initialized yet ok 7 - The object isa BinaryTree ok 8 - The object isa BinaryTree ok 9 - ... left attribute has now been initialized ok 10 - ... right attribute has now been initialized ok 11 - ... node attribute has not been initialized yet ok 12 - ... left attribute has not been initialized yet ok 13 - ... right attribute has not been initialized yet ok 14 - ... node attribute has not been initialized yet ok 15 - ... left attribute has not been initialized yet ok 16 - ... right attribute has not been initialized yet ok 17 - ... the left node is uninitialized ok 18 - ... node attribute has now been initialized ok 19 - ... the left node == 1 ok 20 - ... left attribute still has not been initialized yet ok 21 - ... right attribute still has not been initialized yet ok 22 - ... the right node is uninitialized ok 23 - ... node attribute has now been initialized ok 24 - ... the right node == 1 ok 25 - ... left attribute still has not been initialized yet ok 26 - ... right attribute still has not been initialized yet ok t/107_C3MethodDispatchOrder_test...................... 1..5 ok 1 - use Class::MOP; ok 2 - require 'examples/C3MethodDispatchOrder.pod'; ok 3 - ... got the right MRO for Diamond_D ok 4 - ... got the right dispatch order ok 5 - ... can(method) resolved itself as expected ok t/108_ArrayBasedStorage_test.......................... 1..72 ok 1 - use Class::MOP; ok 2 - require 'examples/ArrayBasedStorage.pod'; ok 3 - The object isa Foo ok 4 - ... Foo is made with ARRAY ok 5 - Foo->can('foo') ok 6 - Foo->can('has_foo') ok 7 - Foo->can('get_bar') ok 8 - Foo->can('set_bar') ok 9 - Foo->can('clear_foo') ok 10 - ... Foo::foo is not defined yet ok 11 - ... Foo::foo is not defined yet ok 12 - ... Foo::bar has been initialized ok 13 - ... Foo::foo is defined now ok 14 - ... Foo::foo == "This is Foo" ok 15 - ... Foo::foo is not defined anymore ok 16 - ... Foo::foo is not defined anymore ok 17 - ... Foo::bar == 42 ok 18 - The object isa Foo ok 19 - ... Foo is made with ARRAY ok 20 - ... Foo2::foo is not defined yet ok 21 - ... Foo2::foo is not defined yet ok 22 - ... Foo2::bar has been initialized ok 23 - ... Foo2::bar == DONT PANIC ok 24 - ... Foo::bar == 42 ok 25 - The object isa Bar ok 26 - The object isa Foo ok 27 - ... Bar is made with ARRAY ok 28 - Bar->can('foo') ok 29 - Bar->can('has_foo') ok 30 - Bar->can('get_bar') ok 31 - Bar->can('set_bar') ok 32 - Bar->can('baz') ok 33 - Bar->can('has_baz') ok 34 - ... Bar::foo is not defined yet ok 35 - ... Bar::foo is not defined yet ok 36 - ... Bar::bar has been initialized ok 37 - ... Bar::baz is not defined yet ok 38 - ... Bar::baz is not defined yet ok 39 - ... Bar::foo is defined now ok 40 - ... Bar::foo == "This is Bar" ok 41 - ... Bar::bar has been initialized ok 42 - ... Bar::baz is defined now ok 43 - ... Bar::foo == "This is Bar" ok 44 - ... Bar::foo == "This is Bar" ok 45 - ... Bar::bar has been initialized ok 46 - The object isa Bar::Baz ok 47 - The object isa Bar ok 48 - The object isa Foo ok 49 - The object isa Baz ok 50 - ... Bar::Baz is made with ARRAY ok 51 - Bar::Baz->can('foo') ok 52 - Bar::Baz->can('has_foo') ok 53 - Bar::Baz->can('get_bar') ok 54 - Bar::Baz->can('set_bar') ok 55 - Bar::Baz->can('baz') ok 56 - Bar::Baz->can('has_baz') ok 57 - Bar::Baz->can('bling') ok 58 - ... Bar::Baz::bar has been initialized ok 59 - ... Bar::Baz::bling has been initialized ok 60 - ... Bar::Baz::foo is not defined yet ok 61 - ... Bar::Baz::foo is not defined yet ok 62 - ... Bar::Baz::baz is not defined yet ok 63 - ... Bar::Baz::baz is not defined yet ok 64 - ... Bar::Baz::foo is defined now ok 65 - ... Bar::Baz::foo == "This is Bar" ok 66 - ... Bar::Baz::bar has been initialized ok 67 - ... Bar::Baz::bling has been initialized ok 68 - ... Bar::Baz::baz is defined now ok 69 - ... Bar::Baz::foo == "This is Bar" ok 70 - ... Bar::Baz::foo == "This is Bar" ok 71 - ... Bar::Baz::bar has been initialized ok 72 - ... Bar::Baz::bling has been initialized ok t/200_Class_C3_compatibility.......................... 1..7 ok 1 - ... got the right MRO for Diamond_D ok 2 - ... A has a method hello ok 3 - ... B does not have a method hello ok 4 - ... C has a method hello ok 5 - ... D does not have a method hello ok 6 - ... B does have an alias to the method hello ok 7 - ... D does have an alias to the method hello ok t/300_random_eval_bug................................. 1..2 ok 1 - use Class::MOP; ok 2 - ... we die correctly with bad args ok t/301_RT_27329_fix.................................... 1..9 ok 1 - use Class::MOP; ok 2 - The object isa Foo ok 3 - ... got the right default value ok 4 - The object isa Foo ok 5 - ... and it is a clone ok 6 - ... got the right cloned value ok 7 - The object isa Foo ok 8 - ... and it is a clone ok 9 - ... got the right cloned value ok t/pod................................................. 1..14 ok 1 - blib/lib/metaclass.pm ok 2 - blib/lib/Class/MOP.pm ok 3 - blib/lib/Class/MOP/Attribute.pm ok 4 - blib/lib/Class/MOP/Class.pm ok 5 - blib/lib/Class/MOP/Immutable.pm ok 6 - blib/lib/Class/MOP/Instance.pm ok 7 - blib/lib/Class/MOP/Method.pm ok 8 - blib/lib/Class/MOP/Module.pm ok 9 - blib/lib/Class/MOP/Object.pm ok 10 - blib/lib/Class/MOP/Package.pm ok 11 - blib/lib/Class/MOP/Method/Accessor.pm ok 12 - blib/lib/Class/MOP/Method/Constructor.pm ok 13 - blib/lib/Class/MOP/Method/Generated.pm ok 14 - blib/lib/Class/MOP/Method/Wrapped.pm ok t/pod_coverage........................................ 1..14 ok 1 - Pod coverage on metaclass ok 2 - Pod coverage on Class::MOP ok 3 - Pod coverage on Class::MOP::Attribute ok 4 - Pod coverage on Class::MOP::Class ok 5 - Pod coverage on Class::MOP::Immutable ok 6 - Pod coverage on Class::MOP::Instance ok 7 - Pod coverage on Class::MOP::Method ok 8 - Pod coverage on Class::MOP::Module ok 9 - Pod coverage on Class::MOP::Object ok 10 - Pod coverage on Class::MOP::Package ok 11 - Pod coverage on Class::MOP::Method::Accessor ok 12 - Pod coverage on Class::MOP::Method::Constructor ok 13 - Pod coverage on Class::MOP::Method::Generated ok 14 - Pod coverage on Class::MOP::Method::Wrapped ok All tests successful. Files=53, Tests=1932, 8 wallclock secs ( 0.40 usr 0.26 sys + 6.05 cusr 0.70 csys = 7.41 CPU) Result: PASS