Start 2008-09-21T08:08:16
LIB=C:\PROGRA~1\MICROS~4\VC98\Lib\PSDK;C:\PROGRA~1\MICROS~2\Lib;C:\PROGRA~1\MICROS~4\VC98\Lib;C:\PROGRA~1\MICROS~4\VC98\MFC\Lib
INCLUDE=C:\PROGRA~1\MICROS~2\Include;C:\PROGRA~1\MICROS~4\VC98\ATL\Include;C:\PROGRA~1\MICROS~4\VC98\Include;C:\PROGRA~1\MICROS~4\VC98\MFC\Include
PATH=C:\PROGRA~1\MICROS~2\Bin;C:\PROGRA~1\MICROS~2\Bin\WinNT;C:\PROGRA~1\MICROS~4\VC98\Bin;C:\PROGRA~1\MICROS~4\Common\MSDev98\Bin;C:\Perl\site\bin;C:\Perl\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Going to read C:\cpanfly\var\cpan\Metadata
Database was generated on Sun, 21 Sep 2008 08:03:21 GMT
Running make for D/DR/DROLSKY/Fey-ORM-0.11.tar.gz
Fetching with LWP:
http://cpan.nas.activestate.com/authors/id/D/DR/DROLSKY/Fey-ORM-0.11.tar.gz
Fetching with LWP:
http://cpan.nas.activestate.com/authors/id/D/DR/DROLSKY/CHECKSUMS
Checksum for C:\cpanfly\var\cpan\sources\authors\id\D\DR\DROLSKY\Fey-ORM-0.11.tar.gz ok
Fey-ORM-0.11/
Fey-ORM-0.11/t/
Fey-ORM-0.11/t/pod.t
Fey-ORM-0.11/t/Object/
Fey-ORM-0.11/t/Object/Table-select-attr.t
Fey-ORM-0.11/t/Object/Table-has_one.t
Fey-ORM-0.11/t/Object/Schema.t
Fey-ORM-0.11/t/Object/Iterator.t
Fey-ORM-0.11/t/Object/Table.t
Fey-ORM-0.11/t/Object/Iterator/
Fey-ORM-0.11/t/Object/Iterator/Caching.t
Fey-ORM-0.11/t/Object/Table-cache.t
Fey-ORM-0.11/t/Object/Table-has_many.t
Fey-ORM-0.11/t/lib/
Fey-ORM-0.11/t/lib/Fey/
Fey-ORM-0.11/t/lib/Fey/ORM/
Fey-ORM-0.11/t/lib/Fey/ORM/Test.pm
Fey-ORM-0.11/t/lib/Fey/ORM/Test/
Fey-ORM-0.11/t/lib/Fey/ORM/Test/Iterator.pm
Fey-ORM-0.11/t/pod-coverage.t
Fey-ORM-0.11/t/Class/
Fey-ORM-0.11/t/Class/Table-has_one.t
Fey-ORM-0.11/t/Class/Schema.t
Fey-ORM-0.11/t/Class/Table.t
Fey-ORM-0.11/t/Class/Table-has_many.t
Fey-ORM-0.11/t/kwalitee.t
Fey-ORM-0.11/META.yml
Fey-ORM-0.11/Changes
Fey-ORM-0.11/README
Fey-ORM-0.11/TODO
Fey-ORM-0.11/MANIFEST
Fey-ORM-0.11/Makefile.PL
Fey-ORM-0.11/lib/
Fey-ORM-0.11/lib/Fey/
Fey-ORM-0.11/lib/Fey/Meta/
Fey-ORM-0.11/lib/Fey/Meta/Method/
Fey-ORM-0.11/lib/Fey/Meta/Method/Constructor.pm
Fey-ORM-0.11/lib/Fey/Meta/Attribute/
Fey-ORM-0.11/lib/Fey/Meta/Attribute/FromSelect.pm
Fey-ORM-0.11/lib/Fey/Meta/Class/
Fey-ORM-0.11/lib/Fey/Meta/Class/Schema.pm
Fey-ORM-0.11/lib/Fey/Meta/Class/Table.pm
Fey-ORM-0.11/lib/Fey/ORM/
Fey-ORM-0.11/lib/Fey/ORM/Exceptions.pm
Fey-ORM-0.11/lib/Fey/ORM/Manual/
Fey-ORM-0.11/lib/Fey/ORM/Manual/Intro.pod
Fey-ORM-0.11/lib/Fey/ORM/Schema.pm
Fey-ORM-0.11/lib/Fey/ORM/Table.pm
Fey-ORM-0.11/lib/Fey/ORM/Manual.pod
Fey-ORM-0.11/lib/Fey/ORM.pm
Fey-ORM-0.11/lib/Fey/Object/
Fey-ORM-0.11/lib/Fey/Object/Schema.pm
Fey-ORM-0.11/lib/Fey/Object/Iterator/
Fey-ORM-0.11/lib/Fey/Object/Iterator/Caching.pm
Fey-ORM-0.11/lib/Fey/Object/Table.pm
Fey-ORM-0.11/lib/Fey/Object/Iterator.pm
Fey-ORM-0.11/lib/Fey/Hash/
Fey-ORM-0.11/lib/Fey/Hash/ColumnsKey.pm
Fey-ORM-0.11/SIGNATURE
Fey-ORM-0.11/Build.PL
Fey-ORM-0.11/eg/
Fey-ORM-0.11/eg/Vendor.pm
CPAN.pm: Going to build D/DR/DROLSKY/Fey-ORM-0.11.tar.gz
>>> C:\Perl\bin\perl.exe Makefile.PL
# running Build.PL
C:\Perl\bin\perl.exe Build.PL
- ERROR: Moose (0.57) is installed, but we need version >= 0.58
ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions
of the modules indicated above before proceeding with this installation
Checking whether your kit is complete...
Looks good
Checking prerequisites...
Creating new 'Build' script for 'Fey-ORM' version '0.11'
---- Unsatisfied dependencies detected during ----
---- DROLSKY/Fey-ORM-0.11.tar.gz ----
Moose [requires]
Running make test
Delayed until after prerequisites
Running test for module 'Moose'
Running make for D/DR/DROLSKY/Moose-0.58.tar.gz
Fetching with LWP:
http://cpan.nas.activestate.com/authors/id/D/DR/DROLSKY/Moose-0.58.tar.gz
Checksum for C:\cpanfly\var\cpan\sources\authors\id\D\DR\DROLSKY\Moose-0.58.tar.gz ok
Moose-0.58/
Moose-0.58/t/
Moose-0.58/t/050_metaclasses/
Moose-0.58/t/050_metaclasses/004_moose_for_meta.t
Moose-0.58/t/050_metaclasses/016_metarole_w_metaclass_pm.t
Moose-0.58/t/050_metaclasses/011_init_meta.t
Moose-0.58/t/050_metaclasses/001_custom_attr_meta_with_roles.t
Moose-0.58/t/050_metaclasses/003_moose_w_metaclass.t
Moose-0.58/t/050_metaclasses/014_goto_moose_import.t
Moose-0.58/t/050_metaclasses/010_extending_and_embedding_back_compat.t
Moose-0.58/t/050_metaclasses/015_metarole.t
Moose-0.58/t/050_metaclasses/017_use_base_of_moose.t
Moose-0.58/t/050_metaclasses/018_throw_error.t
Moose-0.58/t/050_metaclasses/013_metaclass_traits.t
Moose-0.58/t/050_metaclasses/002_custom_attr_meta_as_role.t
Moose-0.58/t/050_metaclasses/012_moose_exporter.t
Moose-0.58/t/000_load.t
Moose-0.58/t/060_compat/
Moose-0.58/t/060_compat/003_foreign_inheritence.t
Moose-0.58/t/060_compat/001_module_refresh_compat.t
Moose-0.58/t/060_compat/002_moose_respects_base.t
Moose-0.58/t/040_type_constraints/
Moose-0.58/t/040_type_constraints/019_coerced_parameterized_types.t
Moose-0.58/t/040_type_constraints/026_normalize_type_name.t
Moose-0.58/t/040_type_constraints/001_util_type_constraints.t
Moose-0.58/t/040_type_constraints/015_enum.t
Moose-0.58/t/040_type_constraints/012_container_type_coercion.t
Moose-0.58/t/040_type_constraints/025_type_coersion_on_lazy_attributes.t
Moose-0.58/t/040_type_constraints/002_util_type_constraints_export.t
Moose-0.58/t/040_type_constraints/011_container_type_constraint.t
Moose-0.58/t/040_type_constraints/023_types_and_undef.t
Moose-0.58/t/040_type_constraints/020_class_type_constraint.t
Moose-0.58/t/040_type_constraints/014_type_notation_parser.t
Moose-0.58/t/040_type_constraints/008_union_types.t
Moose-0.58/t/040_type_constraints/022_custom_type_errors.t
Moose-0.58/t/040_type_constraints/009_union_types_and_coercions.t
Moose-0.58/t/040_type_constraints/007_util_more_type_coercion.t
Moose-0.58/t/040_type_constraints/017_subtyping_union_types.t
Moose-0.58/t/040_type_constraints/013_advanced_type_creation.t
Moose-0.58/t/040_type_constraints/003_util_std_type_constraints.t
Moose-0.58/t/040_type_constraints/024_role_type_constraint.t
Moose-0.58/t/040_type_constraints/005_util_type_coercion.t
Moose-0.58/t/040_type_constraints/010_misc_type_tests.t
Moose-0.58/t/040_type_constraints/018_custom_parameterized_types.t
Moose-0.58/t/040_type_constraints/027_parameterize_from.t
Moose-0.58/t/040_type_constraints/004_util_find_type_constraint.t
Moose-0.58/t/040_type_constraints/021_maybe_type_constraint.t
Moose-0.58/t/040_type_constraints/016_subtyping_parameterized_types.t
Moose-0.58/t/040_type_constraints/006_util_type_reloading.t
Moose-0.58/t/pod.t
Moose-0.58/t/600_todo_tests/
Moose-0.58/t/600_todo_tests/002_various_role_shit.t
Moose-0.58/t/600_todo_tests/003_immutable_n_around.t
Moose-0.58/t/600_todo_tests/001_exception_reflects_failed_constraint.t
Moose-0.58/t/600_todo_tests/004_inlined_constructor_modified_new.t
Moose-0.58/t/600_todo_tests/005_moose_and_threads.t
Moose-0.58/t/400_moose_util/
Moose-0.58/t/400_moose_util/003_moose_util_search_class_by_role.t
Moose-0.58/t/400_moose_util/002_moose_util_does_role.t
Moose-0.58/t/400_moose_util/001_moose_util.t
Moose-0.58/t/300_immutable/
Moose-0.58/t/300_immutable/006_immutable_nonmoose_subclass.t
Moose-0.58/t/300_immutable/002_apply_roles_to_immutable.t
Moose-0.58/t/300_immutable/007_immutable_trigger_from_constructor.t
Moose-0.58/t/300_immutable/004_inlined_constructors_n_types.t
Moose-0.58/t/300_immutable/001_immutable_moose.t
Moose-0.58/t/300_immutable/005_multiple_demolish_inline.t
Moose-0.58/t/300_immutable/003_immutable_meta_class.t
Moose-0.58/t/300_immutable/009_buildargs.t
Moose-0.58/t/300_immutable/008_immutable_constructor_error.t
Moose-0.58/t/100_bugs/
Moose-0.58/t/100_bugs/012_DEMOLISH_eats_mini.t
Moose-0.58/t/100_bugs/003_Moose_Object_error.t
Moose-0.58/t/100_bugs/018_immutable_metaclass_does_role.t
Moose-0.58/t/100_bugs/013_lazybuild_required_undef.t
Moose-0.58/t/100_bugs/009_augment_recursion_bug.t
Moose-0.58/t/100_bugs/001_subtype_quote_bug.t
Moose-0.58/t/100_bugs/006_handles_foreign_class_bug.t
Moose-0.58/t/100_bugs/011_DEMOLISH_eats_exceptions.t
Moose-0.58/t/100_bugs/010_immutable_n_default_x2.t
Moose-0.58/t/100_bugs/017_type_constraint_messages.t
Moose-0.58/t/100_bugs/005_inline_reader_bug.t
Moose-0.58/t/100_bugs/008_new_w_undef.t
Moose-0.58/t/100_bugs/004_subclass_use_base_bug.t
Moose-0.58/t/100_bugs/016_inheriting_from_roles.t
Moose-0.58/t/100_bugs/007_reader_precedence_bug.t
Moose-0.58/t/100_bugs/014_DEMOLISHALL.t
Moose-0.58/t/100_bugs/002_subtype_conflict_bug.t
Moose-0.58/t/010_basics/
Moose-0.58/t/010_basics/004_inner_and_augment.t
Moose-0.58/t/010_basics/011_moose_respects_type_constraints.t
Moose-0.58/t/010_basics/007_always_strict_warnings.t
Moose-0.58/t/010_basics/006_override_and_foreign_classes.t
Moose-0.58/t/010_basics/016_load_into_main.t
Moose-0.58/t/010_basics/002_require_superclasses.t
Moose-0.58/t/010_basics/001_basic_class_setup.t
Moose-0.58/t/010_basics/013_create.t
Moose-0.58/t/010_basics/012_rebless.t
Moose-0.58/t/010_basics/015_buildargs.t
Moose-0.58/t/010_basics/009_import_unimport.t
Moose-0.58/t/010_basics/008_wrapped_method_cxt_propagation.t
Moose-0.58/t/010_basics/017_error_handling.t
Moose-0.58/t/010_basics/003_super_and_override.t
Moose-0.58/t/010_basics/010_method_modifier_with_regexp.t
Moose-0.58/t/010_basics/014_create_anon.t
Moose-0.58/t/010_basics/005_override_augment_inner_super.t
Moose-0.58/t/lib/
Moose-0.58/t/lib/MyMooseObject.pm
Moose-0.58/t/lib/MyMooseB.pm
Moose-0.58/t/lib/Role/
Moose-0.58/t/lib/Role/Parent.pm
Moose-0.58/t/lib/Role/Child.pm
Moose-0.58/t/lib/Role/Interface.pm
Moose-0.58/t/lib/Bar.pm
Moose-0.58/t/lib/Foo.pm
Moose-0.58/t/lib/MyMooseA.pm
Moose-0.58/t/200_examples/
Moose-0.58/t/200_examples/003_example.t
Moose-0.58/t/200_examples/007_Child_Parent_attr_inherit.t
Moose-0.58/t/200_examples/004_example_w_DCS.t
Moose-0.58/t/200_examples/005_example_w_TestDeep.t
Moose-0.58/t/200_examples/006_example_Protomoose.t
Moose-0.58/t/200_examples/001_example.t
Moose-0.58/t/200_examples/008_record_set_iterator.t
Moose-0.58/t/200_examples/002_example_Moose_POOP.t
Moose-0.58/t/000_recipes/
Moose-0.58/t/000_recipes/basics/
Moose-0.58/t/000_recipes/basics/003_binary_tree.t
Moose-0.58/t/000_recipes/basics/001_point.t
Moose-0.58/t/000_recipes/basics/006_augment_inner.t
Moose-0.58/t/000_recipes/basics/004_company.t
Moose-0.58/t/000_recipes/basics/002_bank_account.t
Moose-0.58/t/000_recipes/basics/010_genes.t
Moose-0.58/t/000_recipes/basics/005_coercion.t
Moose-0.58/t/000_recipes/extending/
Moose-0.58/t/000_recipes/extending/001_base_class.t
Moose-0.58/t/000_recipes/extending/002_metaclass_and_sugar.t
Moose-0.58/t/000_recipes/roles/
Moose-0.58/t/000_recipes/roles/001_roles.t
Moose-0.58/t/000_recipes/roles/002_advanced_role_composition.t
Moose-0.58/t/000_recipes/meta/
Moose-0.58/t/000_recipes/meta/003_attribute_trait.t
Moose-0.58/t/000_recipes/meta/002_meta_attribute.t
Moose-0.58/t/020_attributes/
Moose-0.58/t/020_attributes/014_misc_attribute_coerce_lazy.t
Moose-0.58/t/020_attributes/016_attribute_traits_registered.t
Moose-0.58/t/020_attributes/013_attr_dereference_test.t
Moose-0.58/t/020_attributes/008_attribute_type_unions.t
Moose-0.58/t/020_attributes/003_attribute_accessor_generation.t
Moose-0.58/t/020_attributes/017_attribute_traits_n_meta.t
Moose-0.58/t/020_attributes/011_more_attr_delegation.t
Moose-0.58/t/020_attributes/009_attribute_inherited_slot_specs.t
Moose-0.58/t/020_attributes/020_trigger_and_coerce.t
Moose-0.58/t/020_attributes/001_attribute_reader_generation.t
Moose-0.58/t/020_attributes/012_misc_attribute_tests.t
Moose-0.58/t/020_attributes/023_attribute_names.t
Moose-0.58/t/020_attributes/021_method_generation_rules.t
Moose-0.58/t/020_attributes/004_attribute_triggers.t
Moose-0.58/t/020_attributes/007_attribute_custom_metaclass.t
Moose-0.58/t/020_attributes/006_attribute_required.t
Moose-0.58/t/020_attributes/022_legal_options_for_inheritance.t
Moose-0.58/t/020_attributes/010_attribute_delegation.t
Moose-0.58/t/020_attributes/005_attribute_does.t
Moose-0.58/t/020_attributes/018_no_init_arg.t
Moose-0.58/t/020_attributes/015_attribute_traits.t
Moose-0.58/t/020_attributes/019_attribute_lazy_initializer.t
Moose-0.58/t/020_attributes/002_attribute_writer_generation.t
Moose-0.58/t/030_roles/
Moose-0.58/t/030_roles/013_method_aliasing_in_composition.t
Moose-0.58/t/030_roles/016_runtime_roles_and_nonmoose.t
Moose-0.58/t/030_roles/030_role_parameterized.t
Moose-0.58/t/030_roles/024_role_composition_methods.t
Moose-0.58/t/030_roles/007_roles_and_req_method_edge_cases.t
Moose-0.58/t/030_roles/015_runtime_roles_and_attrs.t
Moose-0.58/t/030_roles/031_roles_applied_in_create.t
Moose-0.58/t/030_roles/010_run_time_role_composition.t
Moose-0.58/t/030_roles/023_role_composition_attributes.t
Moose-0.58/t/030_roles/020_role_composite.t
Moose-0.58/t/030_roles/032_roles_and_method_cloning.t
Moose-0.58/t/030_roles/001_meta_role.t
Moose-0.58/t/030_roles/011_overriding.t
Moose-0.58/t/030_roles/025_role_composition_override.t
Moose-0.58/t/030_roles/002_role.t
Moose-0.58/t/030_roles/017_extending_role_attrs.t
Moose-0.58/t/030_roles/014_more_alias_and_exclude.t
Moose-0.58/t/030_roles/021_role_composite_exclusion.t
Moose-0.58/t/030_roles/003_apply_role.t
Moose-0.58/t/030_roles/006_role_exclusion.t
Moose-0.58/t/030_roles/019_build.t
Moose-0.58/t/030_roles/008_role_conflict_edge_cases.t
Moose-0.58/t/030_roles/022_role_composition_req_methods.t
Moose-0.58/t/030_roles/005_role_conflict_detection.t
Moose-0.58/t/030_roles/026_role_composition_method_mods.t
Moose-0.58/t/030_roles/012_method_exclusion_in_composition.t
Moose-0.58/t/030_roles/009_more_role_edge_cases.t
Moose-0.58/t/030_roles/004_role_composition_errors.t
Moose-0.58/t/030_roles/018_runtime_roles_w_params.t
Moose-0.58/t/pod_coverage.t
Moose-0.58/t/500_test_moose/
Moose-0.58/t/500_test_moose/004_test_moose_meta_ok.t
Moose-0.58/t/500_test_moose/002_test_moose_does_ok.t
Moose-0.58/t/500_test_moose/001_test_moose.t
Moose-0.58/t/500_test_moose/003_test_moose_has_attribute_ok.t
Moose-0.58/inc/
Moose-0.58/inc/Module/
Moose-0.58/inc/Module/Install.pm
Moose-0.58/inc/Module/Install/
Moose-0.58/inc/Module/Install/WriteAll.pm
Moose-0.58/inc/Module/Install/Fetch.pm
Moose-0.58/inc/Module/Install/Base.pm
Moose-0.58/inc/Module/Install/Can.pm
Moose-0.58/inc/Module/Install/Metadata.pm
Moose-0.58/inc/Module/Install/Makefile.pm
Moose-0.58/inc/Module/Install/Win32.pm
Moose-0.58/META.yml
Moose-0.58/Changes
Moose-0.58/README
Moose-0.58/MANIFEST.SKIP
Moose-0.58/MANIFEST
Moose-0.58/Makefile.PL
Moose-0.58/lib/
Moose-0.58/lib/Moose/
Moose-0.58/lib/Moose/Meta/
Moose-0.58/lib/Moose/Meta/TypeCoercion/
Moose-0.58/lib/Moose/Meta/TypeCoercion/Union.pm
Moose-0.58/lib/Moose/Meta/TypeCoercion.pm
Moose-0.58/lib/Moose/Meta/Instance.pm
Moose-0.58/lib/Moose/Meta/TypeConstraint/
Moose-0.58/lib/Moose/Meta/TypeConstraint/Enum.pm
Moose-0.58/lib/Moose/Meta/TypeConstraint/Union.pm
Moose-0.58/lib/Moose/Meta/TypeConstraint/Parameterizable.pm
Moose-0.58/lib/Moose/Meta/TypeConstraint/Registry.pm
Moose-0.58/lib/Moose/Meta/TypeConstraint/Parameterized.pm
Moose-0.58/lib/Moose/Meta/TypeConstraint/Role.pm
Moose-0.58/lib/Moose/Meta/TypeConstraint/Class.pm
Moose-0.58/lib/Moose/Meta/Role.pm
Moose-0.58/lib/Moose/Meta/TypeConstraint.pm
Moose-0.58/lib/Moose/Meta/Method.pm
Moose-0.58/lib/Moose/Meta/Role/
Moose-0.58/lib/Moose/Meta/Role/Application/
Moose-0.58/lib/Moose/Meta/Role/Application/ToClass.pm
Moose-0.58/lib/Moose/Meta/Role/Application/RoleSummation.pm
Moose-0.58/lib/Moose/Meta/Role/Application/ToInstance.pm
Moose-0.58/lib/Moose/Meta/Role/Application/ToRole.pm
Moose-0.58/lib/Moose/Meta/Role/Method.pm
Moose-0.58/lib/Moose/Meta/Role/Method/
Moose-0.58/lib/Moose/Meta/Role/Method/Required.pm
Moose-0.58/lib/Moose/Meta/Role/Composite.pm
Moose-0.58/lib/Moose/Meta/Role/Application.pm
Moose-0.58/lib/Moose/Meta/Method/
Moose-0.58/lib/Moose/Meta/Method/Destructor.pm
Moose-0.58/lib/Moose/Meta/Method/Constructor.pm
Moose-0.58/lib/Moose/Meta/Method/Accessor.pm
Moose-0.58/lib/Moose/Meta/Method/Overriden.pm
Moose-0.58/lib/Moose/Meta/Method/Delegation.pm
Moose-0.58/lib/Moose/Meta/Method/Augmented.pm
Moose-0.58/lib/Moose/Meta/Class.pm
Moose-0.58/lib/Moose/Meta/Attribute.pm
Moose-0.58/lib/Moose/Exporter.pm
Moose-0.58/lib/Moose/Util/
Moose-0.58/lib/Moose/Util/TypeConstraints.pm
Moose-0.58/lib/Moose/Util/MetaRole.pm
Moose-0.58/lib/Moose/Util/TypeConstraints/
Moose-0.58/lib/Moose/Util/TypeConstraints/OptimizedConstraints.pm
Moose-0.58/lib/Moose/Unsweetened.pod
Moose-0.58/lib/Moose/Object.pm
Moose-0.58/lib/Moose/Role.pm
Moose-0.58/lib/Moose/Error/
Moose-0.58/lib/Moose/Error/Confess.pm
Moose-0.58/lib/Moose/Error/Croak.pm
Moose-0.58/lib/Moose/Error/Default.pm
Moose-0.58/lib/Moose/Cookbook/
Moose-0.58/lib/Moose/Cookbook/FAQ.pod
Moose-0.58/lib/Moose/Cookbook/Meta/
Moose-0.58/lib/Moose/Cookbook/Meta/Recipe3.pod
Moose-0.58/lib/Moose/Cookbook/Meta/Recipe2.pod
Moose-0.58/lib/Moose/Cookbook/Meta/Recipe1.pod
Moose-0.58/lib/Moose/Cookbook/Meta/Recipe5.pod
Moose-0.58/lib/Moose/Cookbook/Meta/Recipe4.pod
Moose-0.58/lib/Moose/Cookbook/Extending/
Moose-0.58/lib/Moose/Cookbook/Extending/Recipe3.pod
Moose-0.58/lib/Moose/Cookbook/Extending/Recipe2.pod
Moose-0.58/lib/Moose/Cookbook/Extending/Recipe1.pod
Moose-0.58/lib/Moose/Cookbook/Extending/Recipe4.pod
Moose-0.58/lib/Moose/Cookbook/Roles/
Moose-0.58/lib/Moose/Cookbook/Roles/Recipe2.pod
Moose-0.58/lib/Moose/Cookbook/Roles/Recipe1.pod
Moose-0.58/lib/Moose/Cookbook/Style.pod
Moose-0.58/lib/Moose/Cookbook/WTF.pod
Moose-0.58/lib/Moose/Cookbook/Basics/
Moose-0.58/lib/Moose/Cookbook/Basics/Recipe7.pod
Moose-0.58/lib/Moose/Cookbook/Basics/Recipe3.pod
Moose-0.58/lib/Moose/Cookbook/Basics/Recipe10.pod
Moose-0.58/lib/Moose/Cookbook/Basics/Recipe9.pod
Moose-0.58/lib/Moose/Cookbook/Basics/Recipe2.pod
Moose-0.58/lib/Moose/Cookbook/Basics/Recipe6.pod
Moose-0.58/lib/Moose/Cookbook/Basics/Recipe1.pod
Moose-0.58/lib/Moose/Cookbook/Basics/Recipe5.pod
Moose-0.58/lib/Moose/Cookbook/Basics/Recipe4.pod
Moose-0.58/lib/Moose/Cookbook/Snack/
Moose-0.58/lib/Moose/Cookbook/Snack/Keywords.pod
Moose-0.58/lib/Moose/Cookbook/Snack/Types.pod
Moose-0.58/lib/Moose/Util.pm
Moose-0.58/lib/Moose/Spec/
Moose-0.58/lib/Moose/Spec/Role.pod
Moose-0.58/lib/Moose/Cookbook.pod
Moose-0.58/lib/Moose/Intro.pod
Moose-0.58/lib/Moose.pm
Moose-0.58/lib/oose.pm
Moose-0.58/lib/Test/
Moose-0.58/lib/Test/Moose.pm
Moose-0.58/doap.rdf
CPAN.pm: Going to build D/DR/DROLSKY/Moose-0.58.tar.gz
>>> C:\Perl\bin\perl.exe Makefile.PL
Warning: prerequisite Class::MOP 0.66 not found. We have 0.65.
***
This version of Moose conflicts with the version of
Fey::ORM (0.10) you have installed.
You will need to upgrade Fey::ORM after installing
this version of Moose.
***
***
This version of Moose conflicts with the version of
MooseX::Params::Validate (0.05) you have installed.
You will need to upgrade MooseX::Params::Validate after installing
this version of Moose.
***
***
This version of Moose conflicts with the version of
MooseX::Singleton (0.11) you have installed.
You will need to upgrade MooseX::Singleton after installing
this version of Moose.
***
Checking if your kit is complete...
Looks good
Writing Makefile for Moose
---- Unsatisfied dependencies detected during ----
---- DROLSKY/Moose-0.58.tar.gz ----
Class::MOP [requires]
Running make test
Delayed until after prerequisites
Running test for module 'Class::MOP'
Running make for D/DR/DROLSKY/Class-MOP-0.66.tar.gz
Fetching with LWP:
http://cpan.nas.activestate.com/authors/id/D/DR/DROLSKY/Class-MOP-0.66.tar.gz
Checksum for C:\cpanfly\var\cpan\sources\authors\id\D\DR\DROLSKY\Class-MOP-0.66.tar.gz ok
Class-MOP-0.66/
Class-MOP-0.66/t/
Class-MOP-0.66/t/072_immutable_w_constructors.t
Class-MOP-0.66/t/101_InstanceCountingClass_test.t
Class-MOP-0.66/t/015_metaclass_inheritance.t
Class-MOP-0.66/t/012_package_variables.t
Class-MOP-0.66/t/019_anon_class_keep_alive.t
Class-MOP-0.66/t/023_attribute_get_read_write.t
Class-MOP-0.66/t/044_instance_metaclass_incompat_dyn.t
Class-MOP-0.66/t/014_attribute_introspection.t
Class-MOP-0.66/t/018_anon_class.t
Class-MOP-0.66/t/302_modify_parent_method.t
Class-MOP-0.66/t/041_metaclass_incompatibility.t
Class-MOP-0.66/t/021_attribute_errors_and_edge_cases.t
Class-MOP-0.66/t/046_rebless_instance.t
Class-MOP-0.66/t/100_BinaryTree_test.t
Class-MOP-0.66/t/200_Class_C3_compatibility.t
Class-MOP-0.66/t/103_Perl6Attribute_test.t
Class-MOP-0.66/t/005_attributes.t
Class-MOP-0.66/t/010_self_introspection.t
Class-MOP-0.66/t/001_basic.t
Class-MOP-0.66/t/081_meta_package_extension.t
Class-MOP-0.66/t/004_advanced_methods.t
Class-MOP-0.66/t/000_load.t
Class-MOP-0.66/t/107_C3MethodDispatchOrder_test.t
Class-MOP-0.66/t/071_immutable_w_custom_metaclass.t
Class-MOP-0.66/t/301_RT_27329_fix.t
Class-MOP-0.66/t/013_add_attribute_alternate.t
Class-MOP-0.66/t/060_instance.t
Class-MOP-0.66/t/011_create_class.t
Class-MOP-0.66/t/022_attribute_duplication.t
Class-MOP-0.66/t/073_make_mutable.t
Class-MOP-0.66/t/020_attribute.t
Class-MOP-0.66/t/082_get_code_info.t
Class-MOP-0.66/t/300_random_eval_bug.t
Class-MOP-0.66/t/105_ClassEncapsulatedAttributes_test.t
Class-MOP-0.66/t/106_LazyClass_test.t
Class-MOP-0.66/t/006_new_and_clone_metaclasses.t
Class-MOP-0.66/t/017_add_method_modifier.t
Class-MOP-0.66/t/003_methods.t
Class-MOP-0.66/t/030_method.t
Class-MOP-0.66/t/104_AttributesWithHistory_test.t
Class-MOP-0.66/t/045_metaclass_loads_classes.t
Class-MOP-0.66/t/031_method_modifiers.t
Class-MOP-0.66/t/043_instance_metaclass_incompat.t
Class-MOP-0.66/t/047_rebless_with_extra_params.t
Class-MOP-0.66/t/lib/
Class-MOP-0.66/t/lib/MyMetaClass/
Class-MOP-0.66/t/lib/MyMetaClass/Instance.pm
Class-MOP-0.66/t/lib/MyMetaClass/Random.pm
Class-MOP-0.66/t/lib/MyMetaClass/Method.pm
Class-MOP-0.66/t/lib/MyMetaClass/Attribute.pm
Class-MOP-0.66/t/lib/BinaryTree.pm
Class-MOP-0.66/t/lib/MyMetaClass.pm
Class-MOP-0.66/t/lib/SyntaxError.pm
Class-MOP-0.66/t/042_metaclass_incompatibility_dyn.t
Class-MOP-0.66/t/083_load_class.t
Class-MOP-0.66/t/024_attribute_initializer.t
Class-MOP-0.66/t/050_scala_style_mixin_composition.t
Class-MOP-0.66/t/040_metaclass.t
Class-MOP-0.66/t/016_class_errors_and_edge_cases.t
Class-MOP-0.66/t/108_ArrayBasedStorage_test.t
Class-MOP-0.66/t/080_meta_package.t
Class-MOP-0.66/t/061_instance_inline.t
Class-MOP-0.66/t/102_InsideOutClass_test.t
Class-MOP-0.66/t/070_immutable_metaclass.t
Class-MOP-0.66/t/002_class_precedence_list.t
Class-MOP-0.66/examples/
Class-MOP-0.66/examples/InstanceCountingClass.pod
Class-MOP-0.66/examples/C3MethodDispatchOrder.pod
Class-MOP-0.66/examples/Perl6Attribute.pod
Class-MOP-0.66/examples/ArrayBasedStorage.pod
Class-MOP-0.66/examples/InsideOutClass.pod
Class-MOP-0.66/examples/LazyClass.pod
Class-MOP-0.66/examples/AttributesWithHistory.pod
Class-MOP-0.66/examples/ClassEncapsulatedAttributes.pod
Class-MOP-0.66/META.yml
Class-MOP-0.66/Changes
Class-MOP-0.66/README
Class-MOP-0.66/MANIFEST.SKIP
Class-MOP-0.66/MANIFEST
Class-MOP-0.66/Makefile.PL
Class-MOP-0.66/ppport.h
Class-MOP-0.66/MOP.xs
Class-MOP-0.66/lib/
Class-MOP-0.66/lib/metaclass.pm
Class-MOP-0.66/lib/Class/
Class-MOP-0.66/lib/Class/MOP.pm
Class-MOP-0.66/lib/Class/MOP/
Class-MOP-0.66/lib/Class/MOP/Package.pm
Class-MOP-0.66/lib/Class/MOP/Instance.pm
Class-MOP-0.66/lib/Class/MOP/Immutable.pm
Class-MOP-0.66/lib/Class/MOP/Object.pm
Class-MOP-0.66/lib/Class/MOP/Module.pm
Class-MOP-0.66/lib/Class/MOP/Method.pm
Class-MOP-0.66/lib/Class/MOP/Method/
Class-MOP-0.66/lib/Class/MOP/Method/Constructor.pm
Class-MOP-0.66/lib/Class/MOP/Method/Accessor.pm
Class-MOP-0.66/lib/Class/MOP/Method/Generated.pm
Class-MOP-0.66/lib/Class/MOP/Method/Wrapped.pm
Class-MOP-0.66/lib/Class/MOP/Class.pm
Class-MOP-0.66/lib/Class/MOP/Attribute.pm
Class-MOP-0.66/scripts/
Class-MOP-0.66/scripts/class_browser.pl
CPAN.pm: Going to build D/DR/DROLSKY/Class-MOP-0.66.tar.gz
>>> C:\Perl\bin\perl.exe Makefile.PL
Testing if you have a C compiler
compilet.c
Creating library C:\cpanfly\var\tmp\compilet.lib and object C:\cpanfly\var\tmp\compilet.exp
Checking if your kit is complete...
Looks good
Writing Makefile for Class::MOP
>>> nmake
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
cp lib/Class/MOP/Method/Accessor.pm blib\lib\Class\MOP\Method\Accessor.pm
cp lib/Class/MOP/Method/Constructor.pm blib\lib\Class\MOP\Method\Constructor.pm
cp lib/metaclass.pm blib\lib\metaclass.pm
cp lib/Class/MOP/Method.pm blib\lib\Class\MOP\Method.pm
cp lib/Class/MOP/Method/Generated.pm blib\lib\Class\MOP\Method\Generated.pm
cp lib/Class/MOP/Instance.pm blib\lib\Class\MOP\Instance.pm
cp lib/Class/MOP.pm blib\lib\Class\MOP.pm
cp lib/Class/MOP/Class.pm blib\lib\Class\MOP\Class.pm
cp lib/Class/MOP/Method/Wrapped.pm blib\lib\Class\MOP\Method\Wrapped.pm
cp lib/Class/MOP/Immutable.pm blib\lib\Class\MOP\Immutable.pm
cp lib/Class/MOP/Object.pm blib\lib\Class\MOP\Object.pm
cp lib/Class/MOP/Attribute.pm blib\lib\Class\MOP\Attribute.pm
cp lib/Class/MOP/Module.pm blib\lib\Class\MOP\Module.pm
cp lib/Class/MOP/Package.pm blib\lib\Class\MOP\Package.pm
C:\Perl\bin\perl.exe C:\cpanfly\var\megalib\ExtUtils\xsubpp -typemap C:\Perl\lib\ExtUtils\typemap MOP.xs > MOP.xsc && C:\Perl\bin\perl.exe -MExtUtils::Command -e mv MOP.xsc MOP.c
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"0.66\" -DXS_VERSION=\"0.66\" "-IC:\Perl\lib\CORE" MOP.c
MOP.c
MOP.c(219) : warning C4101: 'RETVAL' : unreferenced local variable
MOP.c(254) : warning C4101: 'RETVAL' : unreferenced local variable
MOP.c(289) : warning C4101: 'RETVAL' : unreferenced local variable
MOP.c(324) : warning C4101: 'RETVAL' : unreferenced local variable
MOP.c(359) : warning C4101: 'RETVAL' : unreferenced local variable
Running Mkbootstrap for Class::MOP ()
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 MOP.bs
C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"Class::MOP\", 'DLBASE' => 'MOP', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
link -out:blib\arch\auto\Class\MOP\MOP.dll -dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x86 MOP.obj C:\Perl\lib\CORE\perl510.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:MOP.def
Creating library blib\arch\auto\Class\MOP\MOP.lib and object blib\arch\auto\Class\MOP\MOP.exp
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 blib\arch\auto\Class\MOP\MOP.dll
C:\Perl\bin\perl.exe -MExtUtils::Command -e cp MOP.bs blib\arch\auto\Class\MOP\MOP.bs
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 blib\arch\auto\Class\MOP\MOP.bs
DROLSKY/Class-MOP-0.66.tar.gz
nmake -- OK
Running make test
>>> nmake test TEST_VERBOSE=1
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(1, '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..65
ok 1 - ... got the method stub pie
ok 2 - ... got the constant method stub cake
ok 3 - ... our method is not yet blessed
ok 4 - ... we added the method successfully
ok 5 - The object isa Class::MOP::Method
ok 6 - ... got the right name for the method
ok 7 - ... got the right package name for the method
ok 8 - ... Foo->has_method(foo) (defined with Sub::Name)
ok 9 - ... Foo->get_method(foo) == \&foo
ok 10 - ... Foo->foo() returns "Foo::foo"
ok 11 - ... not Foo->has_method(FOO_CONSTANT) (defined w/ use constant)
ok 12 - ... not Foo->has_method(bling) (defined in main:: using symbol tables (no Sub::Name))
ok 13 - ... Foo->has_method(bar) (defined in Foo)
ok 14 - ... Foo->has_method(baz) (typeglob aliased within Foo)
ok 15 - ... Foo->has_method(baaz) (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(bang) (defined in main:: using symbol tables and Sub::Name)
ok 19 - ... Foo->has_method(evaled_foo) (evaled in main::)
ok 20 - the method 'elk' is defined in OinkyBoinky
ok 21 - the method 'bar' is not defined in OinkyBoinky
ok 22 - but if you look in the inheritence chain then 'bar' does exist
ok 23 - the returned value is a code ref
ok 24 - The object isa Class::MOP::Method
ok 25 - ... body matches CODE ref in package for baaz
ok 26 - The object isa Class::MOP::Method
ok 27 - ... body matches CODE ref in package for bar
ok 28 - The object isa Class::MOP::Method
ok 29 - ... body matches CODE ref in package for baz
ok 30 - The object isa Class::MOP::Method
ok 31 - ... body matches CODE ref in package for floob
ok 32 - The object isa Class::MOP::Method
ok 33 - ... body matches CODE ref in package for blah
ok 34 - The object isa Class::MOP::Method
ok 35 - ... body matches CODE ref in package for bang
ok 36 - The object isa Class::MOP::Method
ok 37 - ... body matches CODE ref in package for evaled_foo
ok 38 - The object isa Class::MOP::Method
ok 39 - ... body matches CODE ref in package for FOO_CONSTANT
ok 40 - ... got the __ANON__ methods
ok 41 - ... symbol matches CODE ref in package for bling
ok 42 - ... Foo->has_method(alias_me) (aliased from Foo::Aliasing)
ok 43 - ... Foo does have a symbol table slow for alias_me though
ok 44 - ... !Foo->has_method(blessed) (imported into Foo)
ok 45 - ... !Foo->has_method(boom) (defined in main:: using symbol tables and Sub::Name w/out package name)
ok 46 - ... !Foo->has_method(not_a_real_method) (does not exist)
ok 47 - ... Foo->get_method(not_a_real_method) == undef
ok 48 - ... got the right method list for Foo
ok 49 - ... got the right list of applicable methods for Foo
ok 50 - ... removed the foo method
ok 51 - ... !Foo->has_method(foo) we just removed it
ok 52 - ... cannot call Foo->foo because it is not there
ok 53 - ... got the right method list for Foo
ok 54 - The object isa Class::MOP::Class
ok 55 - ... Bar->has_method(foo)
ok 56 - ... Bar->has_method(bar)
ok 57 - ... Bar->foo == Bar::foo
ok 58 - ... Bar->bar == Bar::bar
ok 59 - ... overwriting a method is fine
ok 60 - ... Bar-> (still) has_method(foo)
ok 61 - ... Bar->foo == "Bar::foo v2"
ok 62 - ... got the right method list for Bar
ok 63 - ... got the right list of applicable methods for Bar
ok 64 - add_method clones method objects as they are added
ok 65 - ... the cloned method has the correct original method
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..236
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(_new)
ok 11 - ... Class::MOP::Class->get_method(_new) == &Class::MOP::Class::_new
ok 12 - ... Class::MOP::Class->has_method(is_pristine)
ok 13 - ... Class::MOP::Class->get_method(is_pristine) == &Class::MOP::Class::is_pristine
ok 14 - ... Class::MOP::Class->has_method(initialize)
ok 15 - ... Class::MOP::Class->get_method(initialize) == &Class::MOP::Class::initialize
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(create_meta_instance)
ok 31 - ... Class::MOP::Class->get_method(create_meta_instance) == &Class::MOP::Class::create_meta_instance
ok 32 - ... Class::MOP::Class->has_method(new_object)
ok 33 - ... Class::MOP::Class->get_method(new_object) == &Class::MOP::Class::new_object
ok 34 - ... Class::MOP::Class->has_method(clone_object)
ok 35 - ... Class::MOP::Class->get_method(clone_object) == &Class::MOP::Class::clone_object
ok 36 - ... Class::MOP::Class->has_method(construct_instance)
ok 37 - ... Class::MOP::Class->get_method(construct_instance) == &Class::MOP::Class::construct_instance
ok 38 - ... Class::MOP::Class->has_method(construct_class_instance)
ok 39 - ... Class::MOP::Class->get_method(construct_class_instance) == &Class::MOP::Class::construct_class_instance
ok 40 - ... Class::MOP::Class->has_method(clone_instance)
ok 41 - ... Class::MOP::Class->get_method(clone_instance) == &Class::MOP::Class::clone_instance
ok 42 - ... Class::MOP::Class->has_method(rebless_instance)
ok 43 - ... Class::MOP::Class->get_method(rebless_instance) == &Class::MOP::Class::rebless_instance
ok 44 - ... Class::MOP::Class->has_method(check_metaclass_compatibility)
ok 45 - ... Class::MOP::Class->get_method(check_metaclass_compatibility) == &Class::MOP::Class::check_metaclass_compatibility
ok 46 - ... Class::MOP::Class->has_method(check_metaclass_compatability)
ok 47 - ... Class::MOP::Class->get_method(check_metaclass_compatability) == &Class::MOP::Class::check_metaclass_compatability
ok 48 - ... Class::MOP::Class->has_method(add_meta_instance_dependencies)
ok 49 - ... Class::MOP::Class->get_method(add_meta_instance_dependencies) == &Class::MOP::Class::add_meta_instance_dependencies
ok 50 - ... Class::MOP::Class->has_method(remove_meta_instance_depdendencies)
ok 51 - ... Class::MOP::Class->get_method(remove_meta_instance_depdendencies) == &Class::MOP::Class::remove_meta_instance_depdendencies
ok 52 - ... Class::MOP::Class->has_method(update_meta_instance_dependencies)
ok 53 - ... Class::MOP::Class->get_method(update_meta_instance_dependencies) == &Class::MOP::Class::update_meta_instance_dependencies
ok 54 - ... Class::MOP::Class->has_method(add_dependent_meta_instance)
ok 55 - ... Class::MOP::Class->get_method(add_dependent_meta_instance) == &Class::MOP::Class::add_dependent_meta_instance
ok 56 - ... Class::MOP::Class->has_method(remove_dependent_meta_instance)
ok 57 - ... Class::MOP::Class->get_method(remove_dependent_meta_instance) == &Class::MOP::Class::remove_dependent_meta_instance
ok 58 - ... Class::MOP::Class->has_method(invalidate_meta_instances)
ok 59 - ... Class::MOP::Class->get_method(invalidate_meta_instances) == &Class::MOP::Class::invalidate_meta_instances
ok 60 - ... Class::MOP::Class->has_method(invalidate_meta_instance)
ok 61 - ... Class::MOP::Class->get_method(invalidate_meta_instance) == &Class::MOP::Class::invalidate_meta_instance
ok 62 - ... Class::MOP::Class->has_method(attribute_metaclass)
ok 63 - ... Class::MOP::Class->get_method(attribute_metaclass) == &Class::MOP::Class::attribute_metaclass
ok 64 - ... Class::MOP::Class->has_method(method_metaclass)
ok 65 - ... Class::MOP::Class->get_method(method_metaclass) == &Class::MOP::Class::method_metaclass
ok 66 - ... Class::MOP::Class->has_method(superclasses)
ok 67 - ... Class::MOP::Class->get_method(superclasses) == &Class::MOP::Class::superclasses
ok 68 - ... Class::MOP::Class->has_method(subclasses)
ok 69 - ... Class::MOP::Class->get_method(subclasses) == &Class::MOP::Class::subclasses
ok 70 - ... Class::MOP::Class->has_method(class_precedence_list)
ok 71 - ... Class::MOP::Class->get_method(class_precedence_list) == &Class::MOP::Class::class_precedence_list
ok 72 - ... Class::MOP::Class->has_method(linearized_isa)
ok 73 - ... Class::MOP::Class->get_method(linearized_isa) == &Class::MOP::Class::linearized_isa
ok 74 - ... Class::MOP::Class->has_method(has_method)
ok 75 - ... Class::MOP::Class->get_method(has_method) == &Class::MOP::Class::has_method
ok 76 - ... Class::MOP::Class->has_method(get_method)
ok 77 - ... Class::MOP::Class->get_method(get_method) == &Class::MOP::Class::get_method
ok 78 - ... Class::MOP::Class->has_method(add_method)
ok 79 - ... Class::MOP::Class->get_method(add_method) == &Class::MOP::Class::add_method
ok 80 - ... Class::MOP::Class->has_method(remove_method)
ok 81 - ... Class::MOP::Class->get_method(remove_method) == &Class::MOP::Class::remove_method
ok 82 - ... Class::MOP::Class->has_method(alias_method)
ok 83 - ... Class::MOP::Class->get_method(alias_method) == &Class::MOP::Class::alias_method
ok 84 - ... Class::MOP::Class->has_method(wrap_method_body)
ok 85 - ... Class::MOP::Class->get_method(wrap_method_body) == &Class::MOP::Class::wrap_method_body
ok 86 - ... Class::MOP::Class->has_method(get_method_list)
ok 87 - ... Class::MOP::Class->get_method(get_method_list) == &Class::MOP::Class::get_method_list
ok 88 - ... Class::MOP::Class->has_method(get_method_map)
ok 89 - ... Class::MOP::Class->get_method(get_method_map) == &Class::MOP::Class::get_method_map
ok 90 - ... Class::MOP::Class->has_method(get_all_methods)
ok 91 - ... Class::MOP::Class->get_method(get_all_methods) == &Class::MOP::Class::get_all_methods
ok 92 - ... Class::MOP::Class->has_method(compute_all_applicable_methods)
ok 93 - ... Class::MOP::Class->get_method(compute_all_applicable_methods) == &Class::MOP::Class::compute_all_applicable_methods
ok 94 - ... Class::MOP::Class->has_method(find_method_by_name)
ok 95 - ... Class::MOP::Class->get_method(find_method_by_name) == &Class::MOP::Class::find_method_by_name
ok 96 - ... Class::MOP::Class->has_method(find_all_methods_by_name)
ok 97 - ... Class::MOP::Class->get_method(find_all_methods_by_name) == &Class::MOP::Class::find_all_methods_by_name
ok 98 - ... Class::MOP::Class->has_method(find_next_method_by_name)
ok 99 - ... Class::MOP::Class->get_method(find_next_method_by_name) == &Class::MOP::Class::find_next_method_by_name
ok 100 - ... Class::MOP::Class->has_method(add_before_method_modifier)
ok 101 - ... Class::MOP::Class->get_method(add_before_method_modifier) == &Class::MOP::Class::add_before_method_modifier
ok 102 - ... Class::MOP::Class->has_method(add_after_method_modifier)
ok 103 - ... Class::MOP::Class->get_method(add_after_method_modifier) == &Class::MOP::Class::add_after_method_modifier
ok 104 - ... Class::MOP::Class->has_method(add_around_method_modifier)
ok 105 - ... Class::MOP::Class->get_method(add_around_method_modifier) == &Class::MOP::Class::add_around_method_modifier
ok 106 - ... Class::MOP::Class->has_method(has_attribute)
ok 107 - ... Class::MOP::Class->get_method(has_attribute) == &Class::MOP::Class::has_attribute
ok 108 - ... Class::MOP::Class->has_method(get_attribute)
ok 109 - ... Class::MOP::Class->get_method(get_attribute) == &Class::MOP::Class::get_attribute
ok 110 - ... Class::MOP::Class->has_method(add_attribute)
ok 111 - ... Class::MOP::Class->get_method(add_attribute) == &Class::MOP::Class::add_attribute
ok 112 - ... Class::MOP::Class->has_method(remove_attribute)
ok 113 - ... Class::MOP::Class->get_method(remove_attribute) == &Class::MOP::Class::remove_attribute
ok 114 - ... Class::MOP::Class->has_method(get_attribute_list)
ok 115 - ... Class::MOP::Class->get_method(get_attribute_list) == &Class::MOP::Class::get_attribute_list
ok 116 - ... Class::MOP::Class->has_method(get_attribute_map)
ok 117 - ... Class::MOP::Class->get_method(get_attribute_map) == &Class::MOP::Class::get_attribute_map
ok 118 - ... Class::MOP::Class->has_method(get_all_attributes)
ok 119 - ... Class::MOP::Class->get_method(get_all_attributes) == &Class::MOP::Class::get_all_attributes
ok 120 - ... Class::MOP::Class->has_method(compute_all_applicable_attributes)
ok 121 - ... Class::MOP::Class->get_method(compute_all_applicable_attributes) == &Class::MOP::Class::compute_all_applicable_attributes
ok 122 - ... Class::MOP::Class->has_method(find_attribute_by_name)
ok 123 - ... Class::MOP::Class->get_method(find_attribute_by_name) == &Class::MOP::Class::find_attribute_by_name
ok 124 - ... Class::MOP::Class->has_method(is_mutable)
ok 125 - ... Class::MOP::Class->get_method(is_mutable) == &Class::MOP::Class::is_mutable
ok 126 - ... Class::MOP::Class->has_method(is_immutable)
ok 127 - ... Class::MOP::Class->get_method(is_immutable) == &Class::MOP::Class::is_immutable
ok 128 - ... Class::MOP::Class->has_method(make_mutable)
ok 129 - ... Class::MOP::Class->get_method(make_mutable) == &Class::MOP::Class::make_mutable
ok 130 - ... Class::MOP::Class->has_method(make_immutable)
ok 131 - ... Class::MOP::Class->get_method(make_immutable) == &Class::MOP::Class::make_immutable
ok 132 - ... Class::MOP::Class->has_method(create_immutable_transformer)
ok 133 - ... Class::MOP::Class->get_method(create_immutable_transformer) == &Class::MOP::Class::create_immutable_transformer
ok 134 - ... Class::MOP::Class->has_method(get_immutable_options)
ok 135 - ... Class::MOP::Class->get_method(get_immutable_options) == &Class::MOP::Class::get_immutable_options
ok 136 - ... Class::MOP::Class->has_method(get_immutable_transformer)
ok 137 - ... Class::MOP::Class->get_method(get_immutable_transformer) == &Class::MOP::Class::get_immutable_transformer
ok 138 - ... Class::MOP::Class->has_method(DESTROY)
ok 139 - ... Class::MOP::Class->get_method(DESTROY) == &Class::MOP::Class::DESTROY
ok 140 - ... got the correct method list for package
ok 141 - ... Class::MOP::Package->has_method(_new)
ok 142 - ... Class::MOP::Package->get_method(_new) == &Class::MOP::Package::_new
ok 143 - ... Class::MOP::Package->has_method(initialize)
ok 144 - ... Class::MOP::Package->get_method(initialize) == &Class::MOP::Package::initialize
ok 145 - ... Class::MOP::Package->has_method(reinitialize)
ok 146 - ... Class::MOP::Package->get_method(reinitialize) == &Class::MOP::Package::reinitialize
ok 147 - ... Class::MOP::Package->has_method(name)
ok 148 - ... Class::MOP::Package->get_method(name) == &Class::MOP::Package::name
ok 149 - ... Class::MOP::Package->has_method(namespace)
ok 150 - ... Class::MOP::Package->get_method(namespace) == &Class::MOP::Package::namespace
ok 151 - ... Class::MOP::Package->has_method(add_package_symbol)
ok 152 - ... Class::MOP::Package->get_method(add_package_symbol) == &Class::MOP::Package::add_package_symbol
ok 153 - ... Class::MOP::Package->has_method(get_package_symbol)
ok 154 - ... Class::MOP::Package->get_method(get_package_symbol) == &Class::MOP::Package::get_package_symbol
ok 155 - ... Class::MOP::Package->has_method(has_package_symbol)
ok 156 - ... Class::MOP::Package->get_method(has_package_symbol) == &Class::MOP::Package::has_package_symbol
ok 157 - ... Class::MOP::Package->has_method(remove_package_symbol)
ok 158 - ... Class::MOP::Package->get_method(remove_package_symbol) == &Class::MOP::Package::remove_package_symbol
ok 159 - ... Class::MOP::Package->has_method(list_all_package_symbols)
ok 160 - ... Class::MOP::Package->get_method(list_all_package_symbols) == &Class::MOP::Package::list_all_package_symbols
ok 161 - ... Class::MOP::Package->has_method(get_all_package_symbols)
ok 162 - ... Class::MOP::Package->get_method(get_all_package_symbols) == &Class::MOP::Package::get_all_package_symbols
ok 163 - ... Class::MOP::Package->has_method(remove_package_glob)
ok 164 - ... Class::MOP::Package->get_method(remove_package_glob) == &Class::MOP::Package::remove_package_glob
ok 165 - ... Class::MOP::Package->has_method(_deconstruct_variable_name)
ok 166 - ... Class::MOP::Package->get_method(_deconstruct_variable_name) == &Class::MOP::Package::_deconstruct_variable_name
ok 167 - ... got the correct method list for module
ok 168 - ... Class::MOP::Module->has_method(_new)
ok 169 - ... Class::MOP::Module->get_method(_new) == &Class::MOP::Module::_new
ok 170 - ... Class::MOP::Module->has_method(version)
ok 171 - ... Class::MOP::Module->get_method(version) == &Class::MOP::Module::version
ok 172 - ... Class::MOP::Module->has_method(authority)
ok 173 - ... Class::MOP::Module->get_method(authority) == &Class::MOP::Module::authority
ok 174 - ... Class::MOP::Module->has_method(identifier)
ok 175 - ... Class::MOP::Module->get_method(identifier) == &Class::MOP::Module::identifier
ok 176 - ... NOT Class::MOP::Class->has_method(confess)
ok 177 - ... NOT Class::MOP::Class->has_method(blessed)
ok 178 - ... NOT Class::MOP::Class->has_method(subname)
ok 179 - ... NOT Class::MOP::Class->has_method(svref_2object)
ok 180 - ... got the right list of attributes
ok 181 - ... got the right list of attributes
ok 182 - ... Class::MOP::Class->has_attribute(superclasses)
ok 183 - The object isa Class::MOP::Attribute
ok 184 - ... Class::MOP::Class->has_attribute(methods)
ok 185 - The object isa Class::MOP::Attribute
ok 186 - ... Class::MOP::Class->has_attribute(attributes)
ok 187 - The object isa Class::MOP::Attribute
ok 188 - ... Class::MOP::Class->has_attribute(attribute_metaclass)
ok 189 - The object isa Class::MOP::Attribute
ok 190 - ... Class::MOP::Class->has_attribute(method_metaclass)
ok 191 - The object isa Class::MOP::Attribute
ok 192 - ... Class::MOP::Class->has_attribute(instance_metaclass)
ok 193 - The object isa Class::MOP::Attribute
ok 194 - ... got the right list of attributes
ok 195 - ... got the right list of attributes
ok 196 - ... Class::MOP::Package->has_attribute(package)
ok 197 - The object isa Class::MOP::Attribute
ok 198 - ... Class::MOP::Package->has_attribute(namespace)
ok 199 - The object isa Class::MOP::Attribute
ok 200 - ... got the right list of attributes
ok 201 - ... got the right list of attributes
ok 202 - ... Class::MOP::Module->has_attribute(version)
ok 203 - The object isa Class::MOP::Attribute
ok 204 - ... Class::MOP::Module->has_attribute(authority)
ok 205 - The object isa Class::MOP::Attribute
ok 206 - ... Class::MOP::Class package has a reader
ok 207 - ... Class::MOP::Class package's a reader is { name => sub { ... } }
ok 208 - ... Class::MOP::Class package has a init_arg
ok 209 - ... Class::MOP::Class package's a init_arg is package
ok 210 - ... Class::MOP::Class attributes has a reader
ok 211 - ... Class::MOP::Class attributes's a reader is &get_attribute_map
ok 212 - ... Class::MOP::Class attributes has a init_arg
ok 213 - ... Class::MOP::Class attributes's a init_arg is attributes
ok 214 - ... Class::MOP::Class attributes has a default
ok 215 - ... Class::MOP::Class attributes's a default of {}
ok 216 - ... Class::MOP::Class attribute_metaclass has a reader
ok 217 - ... Class::MOP::Class attribute_metaclass's a reader is &attribute_metaclass
ok 218 - ... Class::MOP::Class attribute_metaclass has a init_arg
ok 219 - ... Class::MOP::Class attribute_metaclass's a init_arg is attribute_metaclass
ok 220 - ... Class::MOP::Class attribute_metaclass has a default
ok 221 - ... Class::MOP::Class attribute_metaclass's a default is Class::MOP:::Attribute
ok 222 - ... Class::MOP::Class method_metaclass has a reader
ok 223 - ... Class::MOP::Class method_metaclass's a reader is &method_metaclass
ok 224 - ... Class::MOP::Class method_metaclass has a init_arg
ok 225 - ... Class::MOP::Class method_metaclass's init_arg is method_metaclass
ok 226 - ... Class::MOP::Class method_metaclass has a default
ok 227 - ... Class::MOP::Class method_metaclass's a default is Class::MOP:::Method
ok 228 - ... Class::MOP::Class->name
ok 229 - ... Class::MOP::Class->version
ok 230 - ... Class::MOP::Class->has_package_symbol($VERSION)
ok 231 - ... Class::MOP::Class->get_package_symbol($VERSION)
ok 232 - ... Class::MOP::Class->superclasses == [ Class::MOP::Module ]
ok 233 - ... Class::MOP::Class->class_precedence_list == [ Class::MOP::Class Class::MOP::Module Class::MOP::Package ]
ok 234 - ... got the right value for attribute_metaclass
ok 235 - ... got the right value for method_metaclass
ok 236 - ... 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..63
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(new)
ok 6 - ... Class::MOP::Attribute->has_method(clone)
ok 7 - ... Class::MOP::Attribute->has_method(initialize_instance_slot)
ok 8 - ... Class::MOP::Attribute->has_method(_set_initial_slot_value)
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(has_write_method)
ok 15 - ... Class::MOP::Attribute->has_method(get_write_method)
ok 16 - ... Class::MOP::Attribute->has_method(get_write_method_ref)
ok 17 - ... Class::MOP::Attribute->has_method(has_reader)
ok 18 - ... Class::MOP::Attribute->has_method(reader)
ok 19 - ... Class::MOP::Attribute->has_method(has_read_method)
ok 20 - ... Class::MOP::Attribute->has_method(get_read_method)
ok 21 - ... Class::MOP::Attribute->has_method(get_read_method_ref)
ok 22 - ... Class::MOP::Attribute->has_method(has_predicate)
ok 23 - ... Class::MOP::Attribute->has_method(predicate)
ok 24 - ... Class::MOP::Attribute->has_method(has_clearer)
ok 25 - ... Class::MOP::Attribute->has_method(clearer)
ok 26 - ... Class::MOP::Attribute->has_method(has_builder)
ok 27 - ... Class::MOP::Attribute->has_method(builder)
ok 28 - ... Class::MOP::Attribute->has_method(has_init_arg)
ok 29 - ... Class::MOP::Attribute->has_method(init_arg)
ok 30 - ... Class::MOP::Attribute->has_method(has_default)
ok 31 - ... Class::MOP::Attribute->has_method(default)
ok 32 - ... Class::MOP::Attribute->has_method(is_default_a_coderef)
ok 33 - ... Class::MOP::Attribute->has_method(has_initializer)
ok 34 - ... Class::MOP::Attribute->has_method(initializer)
ok 35 - ... Class::MOP::Attribute->has_method(slots)
ok 36 - ... Class::MOP::Attribute->has_method(get_value)
ok 37 - ... Class::MOP::Attribute->has_method(set_value)
ok 38 - ... Class::MOP::Attribute->has_method(set_initial_value)
ok 39 - ... Class::MOP::Attribute->has_method(has_value)
ok 40 - ... Class::MOP::Attribute->has_method(clear_value)
ok 41 - ... Class::MOP::Attribute->has_method(associated_class)
ok 42 - ... Class::MOP::Attribute->has_method(attach_to_class)
ok 43 - ... Class::MOP::Attribute->has_method(detach_from_class)
ok 44 - ... Class::MOP::Attribute->has_method(accessor_metaclass)
ok 45 - ... Class::MOP::Attribute->has_method(associated_methods)
ok 46 - ... Class::MOP::Attribute->has_method(associate_method)
ok 47 - ... Class::MOP::Attribute->has_method(process_accessors)
ok 48 - ... Class::MOP::Attribute->has_method(install_accessors)
ok 49 - ... Class::MOP::Attribute->has_method(remove_accessors)
ok 50 - ... Class::MOP::Attribute->has_method(_new)
ok 51 - ... our attribute list matches
ok 52 - ... Class::MOP::Attribute->has_attribute(name)
ok 53 - ... Class::MOP::Attribute->has_attribute(accessor)
ok 54 - ... Class::MOP::Attribute->has_attribute(reader)
ok 55 - ... Class::MOP::Attribute->has_attribute(writer)
ok 56 - ... Class::MOP::Attribute->has_attribute(predicate)
ok 57 - ... Class::MOP::Attribute->has_attribute(clearer)
ok 58 - ... Class::MOP::Attribute->has_attribute(builder)
ok 59 - ... Class::MOP::Attribute->has_attribute(init_arg)
ok 60 - ... Class::MOP::Attribute->has_attribute(initializer)
ok 61 - ... Class::MOP::Attribute->has_attribute(default)
ok 62 - ... Class::MOP::Attribute->has_attribute(associated_class)
ok 63 - ... 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..100
ok 1 - ... can't call name() as a class method
ok 2 - The object isa Class::MOP::Attribute
ok 3 - ... $attr->name == $foo
ok 4 - ... $attr does have an init_arg
ok 5 - ... $attr init_arg is the name
ok 6 - ... $attr does not have an accessor
ok 7 - ... $attr does not have an reader
ok 8 - ... $attr does not have an writer
ok 9 - ... $attr does not have an default
ok 10 - ... $attr does not have a builder
ok 11 - ... it is a plain old sub
ok 12 - ... it is a plain old sub
ok 13 - ... it is a plain old sub
ok 14 - ... it is a plain old sub
ok 15 - The object isa Class::MOP::Class
ok 16 - ... attached a class successfully
ok 17 - ... the class was associated correctly
ok 18 - ... $attr does not have an read method
ok 19 - ... $attr does not have an write method
ok 20 - ... it is a plain old sub
ok 21 - ... it is a plain old sub
ok 22 - The object isa Class::MOP::Method
ok 23 - The object isa Class::MOP::Method
ok 24 - The object isa Class::MOP::Attribute
ok 25 - ... but they are different instances
ok 26 - ... the associated classes are the same though
ok 27 - ... the associated classes are the same though
ok 28 - ... the associated classes are the same though
ok 29 - ... but they are the same inside
ok 30 - The object isa Class::MOP::Attribute
ok 31 - ... $attr->name == $foo
ok 32 - ... $attr does have an init_arg
ok 33 - ... $attr->init_arg == -foo
ok 34 - ... $attr does have an default
ok 35 - ... $attr->default == BAR
ok 36 - ... $attr does not have a builder
ok 37 - ... $attr does not have an accessor
ok 38 - ... $attr does not have an reader
ok 39 - ... $attr does not have an writer
ok 40 - ... $attr does not have an read method
ok 41 - ... $attr does not have an write method
ok 42 - ... it is a plain old sub
ok 43 - ... it is a plain old sub
ok 44 - ... it is a plain old sub
ok 45 - ... it is a plain old sub
ok 46 - The object isa Class::MOP::Attribute
ok 47 - ... but they are different instances
ok 48 - ... the associated classes are the same though
ok 49 - ... the associated class is actually undef
ok 50 - ... the associated class is actually undef
ok 51 - ... but they are the same inside
ok 52 - The object isa Class::MOP::Attribute
ok 53 - ... $attr->name == $foo
ok 54 - ... $attr does have an init_arg
ok 55 - ... $attr->init_arg == -foo
ok 56 - ... $attr does have an default
ok 57 - ... $attr->default == BAR
ok 58 - ... $attr does have an accessor
ok 59 - ... $attr->accessor == foo
ok 60 - ... $attr does not have an reader
ok 61 - ... $attr does not have an writer
ok 62 - ... $attr does not have an read method
ok 63 - ... $attr does not have an write method
ok 64 - ... it is not a plain old sub
ok 65 - ... it is not a plain old sub
ok 66 - ... it is a plain old sub
ok 67 - ... it is a plain old sub
ok 68 - The object isa Class::MOP::Attribute
ok 69 - ... but they are different instances
ok 70 - ... but they are the same inside
ok 71 - The object isa Class::MOP::Attribute
ok 72 - ... $attr->name == $foo
ok 73 - ... $attr does have an init_arg
ok 74 - ... $attr->init_arg == -foo
ok 75 - ... $attr does have an default
ok 76 - ... $attr->default == BAR
ok 77 - ... $attr does have an reader
ok 78 - ... $attr->reader == get_foo
ok 79 - ... $attr does have an writer
ok 80 - ... $attr->writer == set_foo
ok 81 - ... $attr does not have an accessor
ok 82 - ... $attr does not have an read method
ok 83 - ... $attr does not have an write method
ok 84 - ... it is not a plain old sub
ok 85 - ... it is not a plain old sub
ok 86 - ... it is a plain old sub
ok 87 - ... it is a plain old sub
ok 88 - The object isa Class::MOP::Attribute
ok 89 - ... but they are different instances
ok 90 - ... but they are the same inside
ok 91 - The object isa Class::MOP::Attribute
ok 92 - The object isa Class::MOP::Attribute
ok 93 - ... but they are different instances
ok 94 - ... we changes the name parameter
ok 95 - ... $attr->name == $foo
ok 96 - ... $attr_clone->name == $bar
ok 97 - The object isa Class::MOP::Attribute
ok 98 - ... $attr does not have a default
ok 99 - ... $attr does have a builder
ok 100 - ... $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..37
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 - The object isa Class::MOP::Method
ok 36 - ... it is the sub we are looking for
ok 37 - ... it is the sub we are looking for
ok
t/024_attribute_initializer...............
1..10
ok 1 - use Class::MOP;
ok 2 - Foo->can('get_bar')
ok 3 - Foo->can('set_bar')
ok 4 - The object isa Class::MOP::Attribute
ok 5 - ... the attribute is our own
ok 6 - ... initial argument was doubled as expected
ok 7 - ... and setter works correctly
ok 8 - The object isa Class::MOP::Attribute
ok 9 - ... bar has an initializer
ok 10 - ... the initializer is a CODE ref
ok
t/030_method..............................
1..46
ok 1 - ... instance and class both lead to the same meta
ok 2 - ... our package is main::
ok 3 - ... our sub name is __ANON__
ok 4 - ... our subs full name is main::__ANON__
ok 5 - ... no original_method
ok 6 - ... the original_package_name is the same as package_name
ok 7 - ... the original_name is the same as name
ok 8 - ... the original_fully_qualified_name is the same as fully_qualified_name
ok 9 - ... can't call wrap() without some code
ok 10 - ... can't call wrap() without some code
ok 11 - ... can't call wrap() without some code
ok 12 - ... can't call name() as a class method
ok 13 - ... can't call body() as a class method
ok 14 - ... can't call package_name() as a class method
ok 15 - ... can't call fully_qualified_name() as a class method
ok 16 - The object isa Class::MOP::Class
ok 17 - ... Class::MOP::Method->has_method(wrap)
ok 18 - ... our package is Class::MOP::Method
ok 19 - ... our sub name is "wrap"
ok 20 - ... Class::MOP::Method->has_method(package_name)
ok 21 - ... our package is Class::MOP::Method
ok 22 - ... our sub name is "package_name"
ok 23 - ... Class::MOP::Method->has_method(name)
ok 24 - ... our package is Class::MOP::Method
ok 25 - ... our sub name is "name"
ok 26 - ... bad args for &wrap
ok 27 - ... bad args for &wrap
ok 28 - ... bad args for &wrap
ok 29 - ... bad args for &wrap
ok 30 - ... bad args for &wrap
ok 31 - ... bad args for &wrap
ok 32 - The object isa Class::MOP::Method
ok 33 - ... cloned method has new package name
ok 34 - ... cloned method has new sub name
ok 35 - ... cloned method has new fq name
ok 36 - ... cloned method has correct original_method
ok 37 - ... cloned method has correct original_package_name
ok 38 - ... cloned method has correct original_name
ok 39 - ... cloned method has correct original_fully_qualified_name
ok 40 - ... clone of clone has new package name
ok 41 - ... clone of clone has new sub name
ok 42 - ... clone of clone new fq name
ok 43 - ... cloned method has correct original_method
ok 44 - ... original_package_name follows clone chain
ok 45 - ... original_name follows clone chain
ok 46 - ... original_fully_qualified_name follows clone chain
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_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/042_metaclass_incompatibility_dyn.......
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_incompat.........
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_incompat_dyn.....
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_instance....................
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/047_rebless_with_extra_params...........
1..22
ok 1 - use Class::MOP;
ok 2 - The object isa Foo
ok 3 - ... got the expect value
ok 4 - ... no baz method though
ok 5 - ... this works
ok 6 - ... got the expect value
ok 7 - ... we have baz method now
ok 8 - ... got the expect value
ok 9 - The object isa Foo
ok 10 - ... got the expect value
ok 11 - ... no baz method though
ok 12 - ... this works
ok 13 - ... got the expect value
ok 14 - ... we have baz method now
ok 15 - ... got the expect value
ok 16 - The object isa Foo
ok 17 - ... got the expect value
ok 18 - ... no baz method though
ok 19 - ... this works
ok 20 - ... got the expect value
ok 21 - ... we have baz method now
ok 22 - ... got the expect value
ok
t/050_scala_style_mixin_composition.......
1..4
ok 1 - The object isa ColoredPoint3D
ok 2 - The object isa Point3D
ok 3 - The object isa Point2D
ok 4 - ... got the right toString method
ok
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..85
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 - ... immutable transformer cache works
ok 17 - ... make immutable now returns nothing
ok 18 - ... our class is no longer mutable
ok 19 - ... our class is now immutable
ok 20 - The object isa Class::MOP::Class
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 - ... exception thrown as expected
ok 28 - ... no exception for get_package_symbol special case
ok 29 - ... got the superclasses okay
ok 30 - ... but could not set the superclasses okay
ok 31 - ... got the meta instance okay
ok 32 - The object isa Class::MOP::Instance
ok 33 - ... and we know it is cached
ok 34 - ... got the class precedence list okay
ok 35 - ... we just have ourselves in the class precedence list
ok 36 - ... got the attribute list okay
ok 37 - ... got the right list of attributes
ok 38 - ... checking the Bar metaclass
ok 39 - ... our class is mutable
ok 40 - ... our class is not immutable
ok 41 - ... changed Bar to be immutable
ok 42 - ... make immutable now returns nothing
ok 43 - ... our class is no longer mutable
ok 44 - ... our class is now immutable
ok 45 - The object isa Class::MOP::Class
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 - ... exception thrown as expected
ok 52 - ... exception thrown as expected
ok 53 - ... got the superclasses okay
ok 54 - ... but could not set the superclasses okay
ok 55 - ... got the meta instance okay
ok 56 - The object isa Class::MOP::Instance
ok 57 - ... and we know it is cached
ok 58 - ... got the class precedence list okay
ok 59 - ... we just have ourselves in the class precedence list
ok 60 - ... got the attribute list okay
ok 61 - ... got the right list of attributes
ok 62 - ... checking the Baz metaclass
ok 63 - ... our class is mutable
ok 64 - ... our class is not immutable
ok 65 - ... changed Baz to be immutable
ok 66 - ... make immutable now returns nothing
ok 67 - ... our class is no longer mutable
ok 68 - ... our class is now immutable
ok 69 - The object isa Class::MOP::Class
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 - ... exception thrown as expected
ok 76 - ... exception thrown as expected
ok 77 - ... got the superclasses okay
ok 78 - ... but could not set the superclasses okay
ok 79 - ... got the meta instance okay
ok 80 - The object isa Class::MOP::Instance
ok 81 - ... and we know it is cached
ok 82 - ... got the class precedence list okay
ok 83 - ... we just have ourselves in the class precedence list
ok 84 - ... got the attribute list okay
ok 85 - ... 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 incompatibility 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..112
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 - ... inlined constructor created for sure
ok 9 - ... changed Baz to be mutable
ok 10 - ... our class is mutable
ok 11 - ... our class is not immutable
ok 12 - ... make mutable now returns nothing
ok 13 - ... inlined constructor removed
ok 14 - ... inlined constructor removed for sure
ok 15 - ... no straneous hashkeys
ok 16 - ... Baz->meta isa Class::MOP::Class isa Class::MOP::Class
ok 17 - ... added method
ok 18 - ... method xyz works
ok 19 - ... we dont have the aliased method yet
ok 20 - ... aliased method
ok 21 - ... the aliased method does register
ok 22 - ... method zxy works
ok 23 - ... removed method
ok 24 - ... removed aliased method
ok 25 - ... added attribute
ok 26 - ... Baz can fickle
ok 27 - ... removed attribute
ok 28 - ... added package symbol
ok 29 - ... values match
ok 30 - ... removed it
ok 31 - ... values match
ok 32 - ... got the superclasses okay
ok 33 - ... set the superclasses
ok 34 - ... set the superclasses okay
ok 35 - ... reset superclasses
ok 36 - ... reset the superclasses okay
ok 37 - ... get_meta_instance works
ok 38 - ... compute_all_applicable_attributes works
ok 39 - ... class_precedence_list works
ok 40 - ... get_method_map works
ok 41 - ... changed Baz to be immutable again
ok 42 - ... inlined constructor recreated
ok 43 - Changed Baz to be immutable
ok 44 - ... changed Baz to be mutable
ok 45 - ... changed Baz to be immutable
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 - ... exception thrown as expected
ok 52 - ... exception thrown as expected
ok 53 - ... got the superclasses okay
ok 54 - ... set the superclasses
ok 55 - ... get_meta_instance works
ok 56 - ... compute_all_applicable_attributes works
ok 57 - ... class_precedence_list works
ok 58 - ... get_method_map works
ok 59 - Superclass is immutable
ok 60 - We have an anon metaclass
ok 61 - ... our anon class is mutable
ok 62 - ... our anon class is not immutable
ok 63 - ... changed class to be immutable
ok 64 - ... our class is no longer mutable
ok 65 - ... our class is now immutable
ok 66 - ... make immutable now returns nothing
ok 67 - ... changed Baz to be mutable
ok 68 - ... our class is mutable
ok 69 - ... our class is not immutable
ok 70 - ... make mutable now returns nothing
ok 71 - ... still marked as an anon class
ok 72 - ... no straneous hashkeys
ok 73 - ... no straneous methods
ok 74 - ... Anon class isa Class::MOP::Class isa Class::MOP::Class
ok 75 - ... added method
ok 76 - ... method xyz works
ok 77 - ... aliased method
ok 78 - ... method zxy works
ok 79 - ... removed method
ok 80 - ... removed aliased method
ok 81 - ... added attribute
ok 82 - ... instance can fickle
ok 83 - ... removed attribute
ok 84 - ... added package symbol
ok 85 - ... values match
ok 86 - ... removed it
ok 87 - ... values match
ok 88 - ... got the superclasses okay
ok 89 - ... set the superclasses
ok 90 - ... set the superclasses okay
ok 91 - ... reset superclasses
ok 92 - ... reset the superclasses okay
ok 93 - ... get_meta_instance works
ok 94 - ... compute_all_applicable_attributes works
ok 95 - ... class_precedence_list works
ok 96 - ... get_method_map works
ok 97 - ... changed class to be immutable
ok 98 - ... changed class to be mutable
ok 99 - ... changed class to be immutable
ok 100 - ... exception thrown as expected
ok 101 - ... exception thrown as expected
ok 102 - ... exception thrown as expected
ok 103 - ... exception thrown as expected
ok 104 - ... exception thrown as expected
ok 105 - ... exception thrown as expected
ok 106 - ... exception thrown as expected
ok 107 - ... got the superclasses okay
ok 108 - ... set the superclasses
ok 109 - ... get_meta_instance works
ok 110 - ... compute_all_applicable_attributes works
ok 111 - ... class_precedence_list works
ok 112 - ... get_method_map works
ok
t/080_meta_package........................
1..97
ok 1 - ... can't call get_all_package_symbols() as a class method
ok 2 - ... can't call name() as a class method
ok 3 - ... the %foo slot has not been created yet
ok 4 - ... the meta agrees
ok 5 - ... checking doesn' vivify
ok 6 - ... created %Foo::foo successfully
ok 7 - ... SCALAR shouldnt have been created too
ok 8 - ... ARRAY shouldnt have been created too
ok 9 - ... CODE shouldnt have been created too
ok 10 - ... the %foo slot was created successfully
ok 11 - ... the meta agrees
ok 12 - ... our %foo was initialized correctly
ok 13 - ... our %foo was initialized correctly
ok 14 - ... got the right package variable back
ok 15 - ... our %foo is the same as the metas
ok 16 - ... our %foo was updated correctly
ok 17 - ... our %foo was updated correctly
ok 18 - ... the @bar slot has not been created yet
ok 19 - ... created @Foo::bar successfully
ok 20 - ... the @bar slot was created successfully
ok 21 - ... the meta agrees
ok 22 - ... SCALAR shouldnt have been created too
ok 23 - ... HASH shouldnt have been created too
ok 24 - ... CODE shouldnt have been created too
ok 25 - ... our @bar was initialized correctly
ok 26 - ... our @bar was initialized correctly
ok 27 - ... the $baz slot has not been created yet
ok 28 - ... created $Foo::baz successfully
ok 29 - ... the $baz slot was created successfully
ok 30 - ... the meta agrees
ok 31 - ... ARRAY shouldnt have been created too
ok 32 - ... HASH shouldnt have been created too
ok 33 - ... CODE shouldnt have been created too
ok 34 - ... got the right value back
ok 35 - ... our $baz was assigned to correctly
ok 36 - ... the meta agrees
ok 37 - ... the &funk slot has not been created yet
ok 38 - ... created &Foo::funk successfully
ok 39 - ... the &funk slot was created successfully
ok 40 - ... the meta agrees
ok 41 - ... SCALAR shouldnt have been created too
ok 42 - ... ARRAY shouldnt have been created too
ok 43 - ... HASH shouldnt have been created too
ok 44 - ... our &funk exists
ok 45 - ... got the right value from the function
ok 46 - ... created @Foo::foo successfully
ok 47 - ... the @foo slot was added successfully
ok 48 - ... got the right values for @Foo::foo
ok 49 - ... created &Foo::foo successfully
ok 50 - ... the meta agrees
ok 51 - ... got the right value for &Foo::foo
ok 52 - ... created $Foo::foo successfully
ok 53 - ... the meta agrees
ok 54 - ... got the right scalar value back
ok 55 - ... got the right value from the scalar
ok 56 - ... removed %Foo::foo successfully
ok 57 - ... the %foo slot was removed successfully
ok 58 - ... the @foo slot still exists
ok 59 - ... the &foo slot still exists
ok 60 - ... the $foo slot still exists
ok 61 - ... got the right values for @Foo::foo
ok 62 - ... got the right value for &Foo::foo
ok 63 - ... got the right value for $Foo::foo
ok 64 - ... the %foo slot has been removed successfully
ok 65 - ... the @foo slot has NOT been removed
ok 66 - ... the &foo slot has NOT been removed
ok 67 - ... the $foo slot has NOT been removed
ok 68 - ... removed &Foo::foo successfully
ok 69 - ... the &foo slot no longer exists
ok 70 - ... the @foo slot still exists
ok 71 - ... the $foo slot still exists
ok 72 - ... got the right values for @Foo::foo
ok 73 - ... got the right value for $Foo::foo
ok 74 - ... the %foo slot has been removed successfully
ok 75 - ... the &foo slot has now been removed
ok 76 - ... the @foo slot has NOT been removed
ok 77 - ... the $foo slot has NOT been removed
ok 78 - ... removed $Foo::foo successfully
ok 79 - ... the $foo slot no longer exists
ok 80 - ... the @foo slot still exists
ok 81 - ... got the right values for @Foo::foo
ok 82 - ... the %foo slot has been removed successfully
ok 83 - ... the &foo slot has now been removed
ok 84 - ... the $foo slot has now been removed
ok 85 - ... the @foo slot has NOT been removed
ok 86 - ... the fetched symbols are the same as the listed ones
ok 87 - ... the fetched symbols are the same as the listed ones
ok 88 - ... got the right symbol
ok 89 - ... got the right symbol
ok 90 - ... got the right symbol
ok 91 - ... the fetched symbols are the same as the listed ones
ok 92 - ... got the right symbol
ok 93 - got the right ones
ok 94 - ... no sigil for bar
ok 95 - ... no sigil for bar
ok 96 - ... no sigil for bar
ok 97 - ... 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/082_get_code_info.......................
1..5
ok 1 - use Class::MOP;
ok 2 - sub name is main::__ANON__
ok 3 - sub name is Foo::bar
ok 4 - sub name is main::
ok 5 - sub name is Class::MOP::Method::name
ok
t/083_load_class..........................
1..22
ok 1 - is_class_loaded with no argument returns false
ok 2 - can't load the empty class
ok 3 - can't load a class name reference??
ok 4 - undef is not a valid class name
ok 5 - empty string is not a valid class name
ok 6 - a reference is not a valid class name
ok 7 - 'bogus name' is not a valid class name
ok 8 - 'Foo' is a valid class name
ok 9 - 'Foo::Bar' is a valid class name
ok 10 - 'Foo_::Bar2' is a valid class name
ok 11 - threw Regexp ((?-xism:Invalid class name \(bogus name\)))
ok 12 - successfully loaded the class BinaryTree
ok 13 - load_class returns the metaclass
ok 14 - BinaryTree->can('traverse')
ok 15 - this should not die!
ok 16 - class name returned
ok 17 - no metaclass for non MOP class
ok 18 - threw Regexp ((?-xism:Can't locate ))
ok 19 - threw Regexp ((?-xism:Missing right curly))
ok 20 - is_class_loaded(Other)
ok 21 - a class with just constants is still a class
ok 22 - when an object has a metaclass it is returned isa Class::MOP::Class
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..73
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 73 - additional slot due to refreshed meta instance
ok
t/200_Class_C3_compatibility..............
1..8
ok 1 - use Class::MOP;
ok 2 - ... got the right MRO for Diamond_D
ok 3 - ... A has a method hello
ok 4 - ... B does not have a method hello
ok 5 - ... C has a method hello
ok 6 - ... D does not have a method hello
ok 7 # SKIP C3 does not make aliases on 5.9.5+
ok 8 # SKIP C3 does not make aliases on 5.9.5+
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/302_modify_parent_method................
1..5
ok 1 - use Class::MOP;
ok 2
ok 3
ok 4
not ok 5 - cache is correctly invalidated when the parent method is wrapped # TODO pending fix
# Failed (TODO) test 'cache is correctly invalidated when the parent method is wrapped'
# at t/302_modify_parent_method.t line 79.
# Structures begin differing at:
# $got->[1] = 'Parent::method'
# $expected->[1] = 'before Parent::method'
ok
All tests successful.
Files=56, Tests=2052, 9 wallclock secs ( 0.03 usr + 0.55 sys = 0.58 CPU)
Result: PASS
DROLSKY/Class-MOP-0.66.tar.gz
nmake test TEST_VERBOSE=1 -- OK
Dave Rolsky <autarch@urth.org>
A Meta Object Protocol for Perl 5
>>> (cd C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc && tar cvf - Class-MOP-0.66.ppd blib) | gzip -c >C:/cpanfly/var/REPO/D/DR/DROLSKY/Class-MOP-0.66.tar.gz
Class-MOP-0.66.ppd
blib/
blib/arch/
blib/arch/auto/
blib/arch/auto/Class/
blib/arch/auto/Class/MOP/
blib/arch/auto/Class/MOP/MOP.bs
blib/arch/auto/Class/MOP/MOP.dll
blib/arch/auto/Class/MOP/MOP.exp
blib/arch/auto/Class/MOP/MOP.lib
blib/lib/
blib/lib/Class/
blib/lib/Class/MOP/
blib/lib/Class/MOP/Attribute.pm
blib/lib/Class/MOP/Class.pm
blib/lib/Class/MOP/Immutable.pm
blib/lib/Class/MOP/Instance.pm
blib/lib/Class/MOP/Method/
blib/lib/Class/MOP/Method/Accessor.pm
blib/lib/Class/MOP/Method/Constructor.pm
blib/lib/Class/MOP/Method/Generated.pm
blib/lib/Class/MOP/Method/Wrapped.pm
blib/lib/Class/MOP/Method.pm
blib/lib/Class/MOP/Module.pm
blib/lib/Class/MOP/Object.pm
blib/lib/Class/MOP/Package.pm
blib/lib/Class/MOP.pm
blib/lib/metaclass.pm
>>> mv C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/Class-MOP-0.66.ppd C:/cpanfly/var/REPO/D/DR/DROLSKY
Running make for D/DR/DROLSKY/Moose-0.58.tar.gz
Prepending C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/arch C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/lib to PERL5LIB for 'get'
Has already been unwrapped into directory C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv
Prepending C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/arch C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/lib to PERL5LIB for 'make'
CPAN.pm: Going to build D/DR/DROLSKY/Moose-0.58.tar.gz
>>> nmake
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
cp lib/Moose/Cookbook/Basics/Recipe1.pod blib\lib\Moose\Cookbook\Basics\Recipe1.pod
cp lib/Moose/Cookbook/Basics/Recipe10.pod blib\lib\Moose\Cookbook\Basics\Recipe10.pod
cp lib/Moose/Meta/TypeCoercion/Union.pm blib\lib\Moose\Meta\TypeCoercion\Union.pm
cp lib/Moose/Meta/Method.pm blib\lib\Moose\Meta\Method.pm
cp lib/Moose/Meta/TypeConstraint/Registry.pm blib\lib\Moose\Meta\TypeConstraint\Registry.pm
cp lib/Moose/Meta/Method/Overriden.pm blib\lib\Moose\Meta\Method\Overriden.pm
cp lib/Moose/Util/TypeConstraints.pm blib\lib\Moose\Util\TypeConstraints.pm
cp lib/Moose/Meta/Role/Application/ToInstance.pm blib\lib\Moose\Meta\Role\Application\ToInstance.pm
cp lib/Moose/Meta/Role/Method/Required.pm blib\lib\Moose\Meta\Role\Method\Required.pm
cp lib/Moose/Meta/Role/Application/ToClass.pm blib\lib\Moose\Meta\Role\Application\ToClass.pm
cp lib/Moose/Meta/Role/Composite.pm blib\lib\Moose\Meta\Role\Composite.pm
cp lib/Moose/Error/Default.pm blib\lib\Moose\Error\Default.pm
cp lib/Moose/Cookbook/Meta/Recipe3.pod blib\lib\Moose\Cookbook\Meta\Recipe3.pod
cp lib/Moose/Cookbook/Extending/Recipe4.pod blib\lib\Moose\Cookbook\Extending\Recipe4.pod
cp lib/Moose/Object.pm blib\lib\Moose\Object.pm
cp lib/Moose/Meta/TypeCoercion.pm blib\lib\Moose\Meta\TypeCoercion.pm
cp lib/Moose/Spec/Role.pod blib\lib\Moose\Spec\Role.pod
cp lib/Moose/Cookbook/Meta/Recipe2.pod blib\lib\Moose\Cookbook\Meta\Recipe2.pod
cp lib/Moose/Cookbook/Extending/Recipe3.pod blib\lib\Moose\Cookbook\Extending\Recipe3.pod
cp lib/Moose/Unsweetened.pod blib\lib\Moose\Unsweetened.pod
cp lib/Moose/Meta/Instance.pm blib\lib\Moose\Meta\Instance.pm
cp lib/Moose/Cookbook/Basics/Recipe7.pod blib\lib\Moose\Cookbook\Basics\Recipe7.pod
cp lib/Moose/Role.pm blib\lib\Moose\Role.pm
cp lib/Moose/Cookbook/Roles/Recipe2.pod blib\lib\Moose\Cookbook\Roles\Recipe2.pod
cp lib/Moose/Error/Croak.pm blib\lib\Moose\Error\Croak.pm
cp lib/Moose/Cookbook/Basics/Recipe6.pod blib\lib\Moose\Cookbook\Basics\Recipe6.pod
cp lib/Moose/Cookbook/Extending/Recipe2.pod blib\lib\Moose\Cookbook\Extending\Recipe2.pod
cp lib/Moose/Cookbook/Basics/Recipe3.pod blib\lib\Moose\Cookbook\Basics\Recipe3.pod
cp lib/Moose/Error/Confess.pm blib\lib\Moose\Error\Confess.pm
cp lib/Moose/Meta/Role/Application/ToRole.pm blib\lib\Moose\Meta\Role\Application\ToRole.pm
cp lib/Moose/Meta/Class.pm blib\lib\Moose\Meta\Class.pm
cp lib/Moose/Cookbook/WTF.pod blib\lib\Moose\Cookbook\WTF.pod
cp lib/oose.pm blib\lib\oose.pm
cp lib/Moose/Meta/TypeConstraint/Role.pm blib\lib\Moose\Meta\TypeConstraint\Role.pm
cp lib/Moose/Util.pm blib\lib\Moose\Util.pm
cp lib/Moose/Meta/Role.pm blib\lib\Moose\Meta\Role.pm
cp lib/Moose/Meta/Role/Method.pm blib\lib\Moose\Meta\Role\Method.pm
cp lib/Moose/Cookbook/Roles/Recipe1.pod blib\lib\Moose\Cookbook\Roles\Recipe1.pod
cp lib/Moose/Meta/TypeConstraint/Class.pm blib\lib\Moose\Meta\TypeConstraint\Class.pm
cp lib/Moose/Cookbook/Snack/Types.pod blib\lib\Moose\Cookbook\Snack\Types.pod
cp lib/Moose/Meta/TypeConstraint/Union.pm blib\lib\Moose\Meta\TypeConstraint\Union.pm
cp lib/Moose/Meta/Role/Application.pm blib\lib\Moose\Meta\Role\Application.pm
cp lib/Moose/Meta/Method/Augmented.pm blib\lib\Moose\Meta\Method\Augmented.pm
cp lib/Moose.pm blib\lib\Moose.pm
cp lib/Moose/Meta/Method/Constructor.pm blib\lib\Moose\Meta\Method\Constructor.pm
cp lib/Moose/Meta/TypeConstraint.pm blib\lib\Moose\Meta\TypeConstraint.pm
cp lib/Moose/Cookbook/FAQ.pod blib\lib\Moose\Cookbook\FAQ.pod
cp lib/Moose/Meta/Attribute.pm blib\lib\Moose\Meta\Attribute.pm
cp lib/Moose/Cookbook.pod blib\lib\Moose\Cookbook.pod
cp lib/Moose/Meta/TypeConstraint/Parameterized.pm blib\lib\Moose\Meta\TypeConstraint\Parameterized.pm
cp lib/Moose/Meta/TypeConstraint/Enum.pm blib\lib\Moose\Meta\TypeConstraint\Enum.pm
cp lib/Moose/Util/MetaRole.pm blib\lib\Moose\Util\MetaRole.pm
cp lib/Moose/Cookbook/Style.pod blib\lib\Moose\Cookbook\Style.pod
cp lib/Moose/Exporter.pm blib\lib\Moose\Exporter.pm
cp lib/Moose/Meta/TypeConstraint/Parameterizable.pm blib\lib\Moose\Meta\TypeConstraint\Parameterizable.pm
cp lib/Moose/Meta/Role/Application/RoleSummation.pm blib\lib\Moose\Meta\Role\Application\RoleSummation.pm
cp lib/Moose/Meta/Method/Delegation.pm blib\lib\Moose\Meta\Method\Delegation.pm
cp lib/Moose/Cookbook/Snack/Keywords.pod blib\lib\Moose\Cookbook\Snack\Keywords.pod
cp lib/Moose/Intro.pod blib\lib\Moose\Intro.pod
cp lib/Moose/Cookbook/Basics/Recipe9.pod blib\lib\Moose\Cookbook\Basics\Recipe9.pod
cp lib/Moose/Cookbook/Basics/Recipe2.pod blib\lib\Moose\Cookbook\Basics\Recipe2.pod
cp lib/Moose/Cookbook/Meta/Recipe5.pod blib\lib\Moose\Cookbook\Meta\Recipe5.pod
cp lib/Moose/Cookbook/Extending/Recipe1.pod blib\lib\Moose\Cookbook\Extending\Recipe1.pod
cp lib/Moose/Cookbook/Meta/Recipe1.pod blib\lib\Moose\Cookbook\Meta\Recipe1.pod
cp lib/Test/Moose.pm blib\lib\Test\Moose.pm
cp lib/Moose/Meta/Method/Destructor.pm blib\lib\Moose\Meta\Method\Destructor.pm
cp lib/Moose/Cookbook/Meta/Recipe4.pod blib\lib\Moose\Cookbook\Meta\Recipe4.pod
cp lib/Moose/Meta/Method/Accessor.pm blib\lib\Moose\Meta\Method\Accessor.pm
cp lib/Moose/Util/TypeConstraints/OptimizedConstraints.pm blib\lib\Moose\Util\TypeConstraints\OptimizedConstraints.pm
cp lib/Moose/Cookbook/Basics/Recipe5.pod blib\lib\Moose\Cookbook\Basics\Recipe5.pod
cp lib/Moose/Cookbook/Basics/Recipe4.pod blib\lib\Moose\Cookbook\Basics\Recipe4.pod
DROLSKY/Moose-0.58.tar.gz
nmake -- OK
Prepending C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/arch C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/lib to PERL5LIB for 'test'
Running make test
>>> nmake test TEST_VERBOSE=1
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(1, 'inc', 'blib\lib', 'blib\arch')" t/*.t t/000_recipes/basics/*.t t/000_recipes/extending/*.t t/000_recipes/meta/*.t t/000_recipes/roles/*.t t/010_basics/*.t t/020_attributes/*.t t/030_roles/*.t t/040_type_constraints/*.t t/050_metaclasses/*.t t/060_compat/*.t t/100_bugs/*.t t/200_examples/*.t t/300_immutable/*.t t/400_moose_util/*.t t/500_test_moose/*.t t/600_todo_tests/*.t
t/000_load.....................................................
1..1
ok 1 - use Moose;
ok
t/000_recipes/basics/001_point.................................
1..57
ok 1 - The object isa Point
ok 2 - The object isa Moose::Object
ok 3 - ... got the right value for x
ok 4 - ... got the right value for y
ok 5 - ... got the right (changed) value for y
ok 6 - ... cannot assign a non-Int to y
ok 7 - ... must provide required attributes to new
ok 8 - ... got the right (cleared) value for x
ok 9 - ... got the right (cleared) value for y
ok 10 - ... can assign a 0 to x and y
ok 11 - ... cannot assign a non-Int to y
ok 12 - ... cannot assign a non-Int to x
ok 13 - The object isa Point3D
ok 14 - The object isa Point
ok 15 - The object isa Moose::Object
ok 16 - ... got the right value for x
ok 17 - ... got the right value for y
ok 18 - ... got the right value for z
ok 19 - ... got the right (cleared) value for x
ok 20 - ... got the right (cleared) value for y
ok 21 - ... got the right (cleared) value for z
ok 22 - ... cannot assign a non-Int to y
ok 23 - ... cannot assign a non-Int to x
ok 24 - ... cannot assign a non-Int to z
ok 25 - ... z is a required attribute for Point3D
ok 26 - Point->can('meta')
ok 27 - The object isa Moose::Meta::Class
ok 28 - Point3D->can('meta')
ok 29 - The object isa Moose::Meta::Class
ok 30 - ... they are different metaclasses as well
ok 31 - ... Point got the automagic base class
ok 32 - ... we match the method list for Point
ok 33 - ... we match the attribute list for Point
ok 34 - ... Point has the method "meta"
ok 35 - ... Point has the method "new"
ok 36 - ... Point has the method "x"
ok 37 - ... Point has the method "y"
ok 38 - ... Point has the method "clear"
ok 39 - ... Point has the attribute "x"
ok 40 - ... Attribute x has a type constraint
ok 41 - The object isa Moose::Meta::TypeConstraint
ok 42 - ... Attribute x has an Int type constraint
ok 43 - ... Point has the attribute "y"
ok 44 - ... Attribute y has a type constraint
ok 45 - The object isa Moose::Meta::TypeConstraint
ok 46 - ... Attribute y has an Int type constraint
ok 47 - ... Point3D gets the parent given to it
ok 48 - ... we match the method list for Point3D
ok 49 - ... we match the attribute list for Point3D
ok 50 - ... Point3D has the method "new"
ok 51 - ... Point3D has the method "meta"
ok 52 - ... Point3D has the method "z"
ok 53 - ... Point3D has the method "clear"
ok 54 - ... Point3D has the attribute "z"
ok 55 - ... Attribute z has a type constraint
ok 56 - The object isa Moose::Meta::TypeConstraint
ok 57 - ... Attribute z has an Int type constraint
ok
t/000_recipes/basics/002_bank_account..........................
1..23
ok 1 - The object isa BankAccount
ok 2 - ... got the right savings balance
ok 3 - ... withdrew from savings successfully
ok 4 - ... got the right savings balance after withdrawl
ok 5 - ... got the right savings balance after deposit
ok 6 - The object isa CheckingAccount
ok 7 - The object isa BankAccount
ok 8 - ... got the right overdraft account
ok 9 - ... got the right checkings balance
ok 10 - ... withdrew from checking successfully
ok 11 - ... got the right checkings balance after withdrawl
ok 12 - ... got the right savings balance after checking withdrawl (no overdraft)
ok 13 - ... withdrew from checking successfully
ok 14 - ... got the right checkings balance after withdrawl
ok 15 - ... got the right savings balance after overdraft withdrawl
ok 16 - The object isa CheckingAccount
ok 17 - The object isa BankAccount
ok 18 - ... no overdraft account
ok 19 - ... got the right checkings balance
ok 20 - ... withdrew from checking successfully
ok 21 - ... got the right checkings balance after withdrawl
ok 22 - ... withdrawl failed due to attempted overdraft
ok 23 - ... got the right checkings balance after withdrawl failure
ok
t/000_recipes/basics/003_binary_tree...........................
1..33
ok 1 - The object isa BinaryTree
ok 2 - ... got the right node value
ok 3 - ... no left node yet
ok 4 - ... no right node yet
ok 5 - ... no parent for root node
ok 6 - The object isa BinaryTree
ok 7 - ... got the same node (and it is $left)
ok 8 - ... we have a left node now
ok 9 - ... lefts has a parent
ok 10 - ... lefts parent is the root
ok 11 - ... parent is a weakened ref
ok 12 - ... $left no left node yet
ok 13 - ... $left no right node yet
ok 14 - ... left has got no node value
ok 15 - ... assign to lefts node
ok 16 - ... left now has a node value
ok 17 - ... still no right node yet
ok 18 - ... right has got no node value
ok 19 - ... now we have a right node
ok 20 - The object isa BinaryTree
ok 21 - ... assign to rights node
ok 22 - ... left now has a node value
ok 23 - ... got the same node (and it is $right)
ok 24 - ... we have a right node now
ok 25 - ... rights has a parent
ok 26 - ... rights parent is the root
ok 27 - ... parent is a weakened ref
ok 28 - The object isa BinaryTree
ok 29 - ... left does have a parent
ok 30 - ... got a parent node (and it is $left)
ok 31 - ... we have a left node now
ok 32 - ... got a left node (and it is $left_left)
ok 33 - ... parent is a weakened ref
ok
t/000_recipes/basics/004_company...............................
1..65
ok 1 - ... created the entire company successfully
ok 2 - The object isa Company
ok 3 - ... got the right name for the company
ok 4 - The object isa Address
ok 5 - ... got the right street address
ok 6 - ... got the right city
ok 7 - ... got the right state
ok 8 - ... got the zip code
ok 9 - ... got the right employee count
ok 10 - The object isa Employee
ok 11 - The object isa Person
ok 12 - ... got the right first name
ok 13 - ... got the right last name
ok 14 - ... no middle initial
ok 15 - ... got the right middle initial value
ok 16 - ... got the right full name
ok 17 - ... got the right title
ok 18 - ... got the right company
ok 19 - ... the company is a weak-ref
ok 20 - The object isa Address
ok 21 - ... got the right city
ok 22 - ... got the right state
ok 23 - The object isa Employee
ok 24 - The object isa Person
ok 25 - ... got the right first name
ok 26 - ... got the right last name
ok 27 - ... no middle initial
ok 28 - ... got the right middle initial value
ok 29 - ... got the right full name
ok 30 - ... got the right title
ok 31 - ... got the right company
ok 32 - ... the company is a weak-ref
ok 33 - The object isa Address
ok 34 - ... got the right city
ok 35 - ... got the right state
ok 36 - The object isa Employee
ok 37 - The object isa Person
ok 38 - ... got the right first name
ok 39 - ... got the right last name
ok 40 - ... got middle initial
ok 41 - ... got the right middle initial value
ok 42 - ... got the right full name
ok 43 - ... got the right title
ok 44 - ... got the right company
ok 45 - ... the company is a weak-ref
ok 46 - The object isa Address
ok 47 - ... got the right city
ok 48 - ... got the right state
ok 49 - The object isa Company
ok 50 - ... has the ii company
ok 51 - ... has the ii company
ok 52 - ... has the ii company
ok 53 - ... has the different company now
ok 54 - ... has the different company now
ok 55 - ... has the different company now
ok 56 - ... we die correctly with bad args
ok 57 - ... we die correctly with bad args
ok 58 - ... we die correctly with bad args
ok 59 - ... we live correctly with good args
ok 60 - ... we die correctly with bad args
ok 61 - ... we live correctly with good args
ok 62 - ... we die correctly without good args
ok 63 - ... we live correctly without good args
ok 64 - ... we die correctly with good args
ok 65 - ... we live correctly with good args
ok
t/000_recipes/basics/005_coercion..............................
1..17
ok 1 - The object isa Request
ok 2 - The object isa HTTP::Headers
ok 3 - ... got no content type in the header
ok 4 - The object isa HTTP::Headers
ok 5 - ... created a new HTTP::Header object
ok 6 - ... got the right content type in the header
ok 7 - The object isa HTTP::Headers
ok 8 - ... created a new HTTP::Header object
ok 9 - ... got the right content type in the header
ok 10 - The object isa HTTP::Headers
ok 11 - ... created a new HTTP::Header object
ok 12 - ... got the right content type in the header
ok 13 - ... dies when it gets bad params
ok 14 - ... got nothing by default
ok 15 - ... set the protocol correctly
ok 16 - ... got nothing by default
ok 17 - ... the protocol died with bar params correctly
ok
t/000_recipes/basics/006_augment_inner.........................
1..2
ok 1 - The object isa TPSReport
ok 2 - ... got the right TPS report
ok
t/000_recipes/basics/010_genes.................................
1..10
ok 1 - gene combination blue,blue,blue,blue produces blue eye color
ok 2 - gene combination blue,blue,green,blue produces green eye color
ok 3 - gene combination blue,blue,blue,green produces green eye color
ok 4 - gene combination blue,blue,green,green produces green eye color
ok 5 - gene combination brown,blue,blue,blue produces brown eye color
ok 6 - gene combination brown,brown,green,green produces brown eye color
ok 7 - gene combination blue,brown,green,blue produces brown eye color
ok 8 - mother blue + father blue = child blue
ok 9 - mother blue + father brown = child brown
ok 10 - mother green + father green = child green
ok
t/000_recipes/extending/001_base_class.........................
1..4
ok 1 - Foo isa MyApp::Base
ok 2 - Foo has a size method
ok 3 - got expected warning when calling Foo->new
ok 4 - $foo->size is 2
ok
t/000_recipes/extending/002_metaclass_and_sugar................
1..3
ok 1 - The object isa MyApp::Meta::Class
ok 2 - MyApp::User->meta->table returns User
ok 3 - MyApp::User has username method
ok
t/000_recipes/meta/002_meta_attribute..........................
1..1
ok 1 - ... got the expected dump value
ok
t/000_recipes/meta/003_attribute_trait.........................
1..2
ok 1 - ... got the expected dump value
ok 2 - ... got the expected dump value
ok
t/000_recipes/roles/001_roles..................................
1..63
ok 1 - ... US::Currency does Comparable
ok 2 - ... US::Currency does Eq
ok 3 - ... US::Currency does Printable
ok 4 - The object isa US::Currency
ok 5 - UNIVERSAL::DOES for class
ok 6 - UNIVERSAL::DOES for role
ok 7 - US::Currency->can('amount')
ok 8 - ... got the right amount
ok 9 - US::Currency->can('to_string')
ok 10 - ... got the right stringified value
ok 11 - ... US::Currency does Comparable
ok 12 - ... US::Currency does Eq
ok 13 - ... US::Currency does Printable
ok 14 - The object isa US::Currency
ok 15 - US::Currency->can('amount')
ok 16 - ... got the right amount
ok 17 - US::Currency->can('to_string')
ok 18 - ... got the right stringified value
ok 19 - ... 100 gt 50
ok 20 - ... 100 ge 50
ok 21 - ... !100 lt 50
ok 22 - ... !100 le 50
ok 23 - ... !100 eq 50
ok 24 - ... 100 ne 50
ok 25 - ... !50 gt 100
ok 26 - ... !50 ge 100
ok 27 - ... 50 lt 100
ok 28 - ... 50 le 100
ok 29 - ... !50 eq 100
ok 30 - ... 50 ne 100
ok 31 - ... !50 gt 50
ok 32 - ... !50 ge 50
ok 33 - ... 50 lt 50
ok 34 - ... 50 le 50
ok 35 - ... 50 eq 50
ok 36 - ... !50 ne 50
ok 37 - The object isa Moose::Meta::Role
ok 38 - ... Eq has_method not_equal_to
ok 39 - ... Eq requires_method not_equal_to
ok 40 - The object isa Moose::Meta::Role
ok 41 - ... Comparable does Eq
ok 42 - ... Comparable has_method equal_to
ok 43 - ... Comparable has_method not_equal_to
ok 44 - ... Comparable has_method greater_than
ok 45 - ... Comparable has_method greater_than_or_equal_to
ok 46 - ... Comparable has_method less_than
ok 47 - ... Comparable has_method less_than_or_equal_to
ok 48 - ... Comparable requires_method compare
ok 49 - The object isa Moose::Meta::Role
ok 50 - ... Printable requires_method to_string
ok 51 - The object isa Moose::Meta::Class
ok 52 - ... US::Currency does Comparable
ok 53 - ... US::Currency does Eq
ok 54 - ... US::Currency does Printable
ok 55 - ... US::Currency has_method amount
ok 56 - ... US::Currency has_method equal_to
ok 57 - ... US::Currency has_method not_equal_to
ok 58 - ... US::Currency has_method compare
ok 59 - ... US::Currency has_method greater_than
ok 60 - ... US::Currency has_method greater_than_or_equal_to
ok 61 - ... US::Currency has_method less_than
ok 62 - ... US::Currency has_method less_than_or_equal_to
ok 63 - ... US::Currency has_method to_string
ok
t/000_recipes/roles/002_advanced_role_composition..............
1..5
ok 1 - made anon class with Restartable::ButUnreliable role
ok 2 - Class::MOP::Class::__ANON__::SERIAL::2->can(...)
ok 3 - made anon class with Restartable::ButBroken role
ok 4 - ... start called explode
ok 5 - ... stop also called explode
ok
t/010_basics/001_basic_class_setup.............................
1..22
ok 1 - Foo->can('meta')
ok 2 - The object isa Moose::Meta::Class
ok 3 - ... we got the &meta method
ok 4 - ... Foo is automagically a Moose::Object
ok 5 - ... has_method requires an arg
ok 6 - ... has_method requires an arg
ok 7 - Foo->can('does')
ok 8 - ... the meta does not treat "extends" as a method
ok 9 - ... the meta does not treat "has" as a method
ok 10 - ... the meta does not treat "before" as a method
ok 11 - ... the meta does not treat "after" as a method
ok 12 - ... the meta does not treat "around" as a method
ok 13 - ... the meta does not treat "blessed" as a method
ok 14 - ... the meta does not treat "confess" as a method
ok 15 - ... the meta does not treat "type" as a method
ok 16 - ... the meta does not treat "subtype" as a method
ok 17 - ... the meta does not treat "as" as a method
ok 18 - ... the meta does not treat "where" as a method
ok 19 - ... the meta does not treat "coerce" as a method
ok 20 - ... the meta does not treat "from" as a method
ok 21 - ... the meta does not treat "via" as a method
ok 22 - ... the meta does not treat "find_type_constraint" as a method
ok
t/010_basics/002_require_superclasses..........................
1..5
ok 1 - ... loaded Foo superclass correctly
ok 2 - ... loaded (inline) Bar superclass correctly
ok 3 - ... loaded Foo and (inline) Bar superclass correctly
ok 4 - ... could not find the superclass (as expected)
ok 5 - ... and got the error we expected
ok
t/010_basics/003_super_and_override............................
1..16
ok 1 - The object isa Baz
ok 2 - The object isa Bar
ok 3 - The object isa Foo
ok 4 - ... got the right value from &foo
ok 5 - ... got the right value from &bar
ok 6 - ... got the right value from &baz
ok 7 - The object isa Bar
ok 8 - The object isa Foo
ok 9 - ... got the right value from &foo
ok 10 - ... got the right value from &bar
ok 11 - ... got the right value from &baz
ok 12 - The object isa Foo
ok 13 - ... got the right value from &foo
ok 14 - ... got the right value from &bar
ok 15 - ... got the right value from &baz
ok 16 - ... cannot override a method which has a local equivalent
ok
t/010_basics/004_inner_and_augment.............................
1..16
ok 1 - The object isa Baz
ok 2 - The object isa Bar
ok 3 - The object isa Foo
ok 4 - ... got the right value from &foo
ok 5 - ... got the right value from &bar
ok 6 - ... got the right value from &baz
ok 7 - The object isa Bar
ok 8 - The object isa Foo
ok 9 - ... got the right value from &foo
ok 10 - ... got the right value from &bar
ok 11 - ... got the right value from &baz
ok 12 - The object isa Foo
ok 13 - ... got the right value from &foo
ok 14 - ... got the right value from &bar
ok 15 - ... got the right value from &baz
ok 16 - ... cannot augment a method which has a local equivalent
ok
t/010_basics/005_override_augment_inner_super..................
1..5
ok 1 - The object isa Baz
ok 2 - The object isa Bar
ok 3 - The object isa Foo
ok 4 - ... got the right value from mixed augment/override foo
ok 5 - ... got the right value from mixed augment/override bar
ok
t/010_basics/006_override_and_foreign_classes..................
1..15
ok 1 - The object isa Baz
ok 2 - The object isa Bar
ok 3 - The object isa Foo
ok 4 - ... got the right value from &foo
ok 5 - ... got the right value from &bar
ok 6 - ... got the right value from &baz
ok 7 - The object isa Bar
ok 8 - The object isa Foo
ok 9 - ... got the right value from &foo
ok 10 - ... got the right value from &bar
ok 11 - ... got the right value from &baz
ok 12 - The object isa Foo
ok 13 - ... got the right value from &foo
ok 14 - ... got the right value from &bar
ok 15 - ... got the right value from &baz
ok
t/010_basics/007_always_strict_warnings........................
1..10
ok 1 - ... got an error because strict is on
ok 2 - ... got the right error
ok 3 - ... no warning yet
ok 4 - ... got a warning
ok 5 - .. and it is the right warning
ok 6 - ... got an error because strict is on
ok 7 - ... got the right error
ok 8 - ... no warning yet
ok 9 - ... got a warning
ok 10 - .. and it is the right warning
ok
t/010_basics/008_wrapped_method_cxt_propagation................
1..7
ok 1 - array context (TouchyBase)
ok 2 - scalar context (TouchyBase)
ok 3 - void context (TouchyBase)
ok 4 - array context (AfterSub)
ok 5 - scalar context (AfterSub)
ok 6 - void context (AfterSub)
ok 7 - methods were wrapped
ok
t/010_basics/009_import_unimport...............................
1..43
ok 1 - Foo->can('extends')
ok 2 - Foo->can('with')
ok 3 - Foo->can('has')
ok 4 - Foo->can('before')
ok 5 - Foo->can('after')
ok 6 - Foo->can('around')
ok 7 - Foo->can('override')
ok 8 - Foo->can('augment')
ok 9 - Foo->can('super')
ok 10 - Foo->can('inner')
ok 11 - Foo->can('make_immutable')
ok 12 - ... Foo can no longer do extends
ok 13 - ... Foo can no longer do with
ok 14 - ... Foo can no longer do has
ok 15 - ... Foo can no longer do before
ok 16 - ... Foo can no longer do after
ok 17 - ... Foo can no longer do around
ok 18 - ... Foo can no longer do override
ok 19 - ... Foo can no longer do augment
ok 20 - ... Foo can no longer do super
ok 21 - ... Foo can no longer do inner
ok 22 - ... Foo can no longer do make_immutable
ok 23 - Bar->can('type')
ok 24 - Bar->can('subtype')
ok 25 - Bar->can('as')
ok 26 - Bar->can('where')
ok 27 - Bar->can('message')
ok 28 - Bar->can('coerce')
ok 29 - Bar->can('from')
ok 30 - Bar->can('via')
ok 31 - Bar->can('enum')
ok 32 - Bar->can('find_type_constraint')
ok 33 - ... Bar can no longer do type
ok 34 - ... Bar can no longer do subtype
ok 35 - ... Bar can no longer do as
ok 36 - ... Bar can no longer do where
ok 37 - ... Bar can no longer do message
ok 38 - ... Bar can no longer do coerce
ok 39 - ... Bar can no longer do from
ok 40 - ... Bar can no longer do via
ok 41 - ... Bar can no longer do enum
ok 42 - ... Bar can no longer do find_type_constraint
ok 43 - Baz->can('blessed')
ok
t/010_basics/010_method_modifier_with_regexp...................
1..9
ok 1 - around modifier is called
ok 2 - around modifier is called
ok 3 - before modifier is called once
ok 4 - after modifier is called once
ok 5 - before modifier is called twice
ok 6 - after modifier is called twice
ok 7 - ... this is not currently supported
ok 8 - ... this is not currently supported
ok 9 - ... this is not currently supported
ok
t/010_basics/011_moose_respects_type_constraints...............
1..7
ok 1 - The object isa Moose::Meta::TypeConstraint
ok 2 - ... got the Value subtype for Foo
ok 3 - ... my constraint passed correctly
ok 4 - ... my constraint failed correctly
ok 5 - The object isa Bar
ok 6 - ... checked the type constraint correctly
ok 7 - ... checked the type constraint correctly
ok
t/010_basics/012_rebless.......................................
1..11
ok 1 - Parent->new gives a Parent object
ok 2 - No name yet
ok 3 - lazy attribute initialized
ok 4 - Num type constraint for now..
ok 5 - ... this failed cause of type check
ok 6 - ... this failed cause of type check
ok 7 - successfully reblessed into Child
ok 8 - Child->name's default came through
ok 9 - lazy attribute was already initialized
ok 10 - lazy attribute just now initialized
ok 11 - ... this failed cause of type check
ok
t/010_basics/013_create........................................
1..7
ok 1 - creating lives
ok 2
ok 3
ok 4 - $with_foo isa Class
ok 5 - threw Regexp ((?-xism:You must pass an ARRAY ref of roles))
ok 6 - did not create Made::Of::Fail
ok 7 - conflicting roles == death
ok
t/010_basics/014_create_anon...................................
1..8
ok 1 - creating the same class twice without caching results in 2 classes
ok 2
ok 3
ok 4 - with cache, the same class is the same class
ok 5
ok 6
ok 7 - class_and_foo and class_and_bar are different
ok 8
ok
t/010_basics/015_buildargs.....................................
1..14
ok 1 - no args
ok 2 - normal args
ok 3 - single arg
ok 4 - ... got the right bar
ok 5 - ... got the right bar
ok 6 - ... got the right bar
ok 7 - ... got the right bar
ok 8 - no args
ok 9 - normal args
ok 10 - single arg
ok 11 - ... got the right bar
ok 12 - ... got the right bar
ok 13 - ... got the right bar
ok 14 - ... got the right bar
ok
t/010_basics/016_load_into_main................................
1..2
ok 1 - Moose warns when loaded from the main package
ok 2 - Moose::Role warns when loaded from the main package
ok
t/010_basics/017_error_handling................................
1..2
ok 1 - A single non-hashref arg to a constructor throws an error
ok 2 - Cannot call does() without a role name
ok
t/020_attributes/001_attribute_reader_generation...............
1..13
ok 1 - ... created the reader method okay
ok 2 - ... created the lazy reader method okay
ok 3 - The object isa Foo
ok 4 - Foo->can('get_foo')
ok 5 - ... got an undefined value
ok 6 - ... get_foo is a read-only
ok 7 - ... no value in get_lazy_foo slot
ok 8 - Foo->can('get_lazy_foo')
ok 9 - ... got an deferred value
ok 10 - ... get_lazy_foo is a read-only
ok 11 - The object isa Foo
ok 12 - ... got the correct value
ok 13 - ... got the correct value
ok
t/020_attributes/002_attribute_writer_generation...............
1..29
ok 1 - ... created the writer method okay
ok 2 - ... created the required writer method okay
ok 3 - ... created the writer method with type constraint okay
ok 4 - ... created the writer method with weak_ref okay
ok 5 - The object isa Foo
ok 6 - Foo->can('set_foo')
ok 7 - ... got an unset value
ok 8 - ... set_foo wrote successfully
ok 9 - ... got the correct set value
ok 10 - ... it is not a weak reference
ok 11 - ... cannot create without the required attribute
ok 12 - Foo->can('set_foo_required')
ok 13 - ... got an unset value
ok 14 - ... set_foo_required wrote successfully
ok 15 - ... got the correct set value
ok 16 - ... set_foo_required died successfully with no value
ok 17 - ... set_foo_required did accept undef
ok 18 - ... it is not a weak reference
ok 19 - Foo->can('set_foo_int')
ok 20 - ... got an unset value
ok 21 - ... set_foo_int wrote successfully
ok 22 - ... got the correct set value
ok 23 - ... set_foo_int died successfully
ok 24 - ... it is not a weak reference
ok 25 - Foo->can('set_foo_weak')
ok 26 - ... got an unset value
ok 27 - ... set_foo_weak wrote successfully
ok 28 - ... got the correct set value
ok 29 - ... it is a weak reference
ok
t/020_attributes/003_attribute_accessor_generation.............
1..57
ok 1 - ... created the accessor method okay
ok 2 - ... created the lazy accessor method okay
ok 3 - ... created the required accessor method okay
ok 4 - ... created the accessor method with type constraint okay
ok 5 - ... created the accessor method with weak_ref okay
ok 6 - ... created the accessor method with auto_deref okay
ok 7 - ... created the reader method with auto_deref okay
ok 8 - ... created the reader method with auto_deref okay
ok 9 - The object isa Foo
ok 10 - Foo->can('foo')
ok 11 - ... got an unset value
ok 12 - ... foo wrote successfully
ok 13 - ... got the correct set value
ok 14 - ... it is not a weak reference
ok 15 - ... cannot create without the required attribute
ok 16 - Foo->can('foo_required')
ok 17 - ... got an unset value
ok 18 - ... foo_required wrote successfully
ok 19 - ... got the correct set value
ok 20 - ... foo_required did not die with undef
ok 21 - value is undef
ok 22 - ... it is not a weak reference
ok 23 - ... no value in lazy_foo slot
ok 24 - Foo->can('lazy_foo')
ok 25 - ... got an deferred value
ok 26 - Foo->can('foo_int')
ok 27 - ... got an unset value
ok 28 - ... foo_int wrote successfully
ok 29 - ... got the correct set value
ok 30 - ... foo_int died successfully
ok 31 - ... it is not a weak reference
ok 32 - Foo->can('foo_weak')
ok 33 - ... got an unset value
ok 34 - ... foo_weak wrote successfully
ok 35 - ... got the correct set value
ok 36 - ... it is a weak reference
ok 37 - Foo->can('foo_deref')
ok 38 - ... default default value
ok 39 - ... doesn't deref undef value
ok 40 - returns empty list in list context
ok 41 - ... foo_deref wrote successfully
ok 42 - returns an array reference in scalar context
ok 43 - correct array
ok 44 - returns list in list context
ok 45 - correct list
ok 46 - Foo->can('foo_deref')
ok 47 - ... default default value
ok 48 - ... read only
ok 49 - scalar context ro
ok 50 - list context ro
ok 51 - Foo->can('foo_deref_hash')
ok 52 - ... default default value
ok 53 - ... doesn't deref undef value
ok 54 - returns empty list in list context
ok 55 - ... foo_deref_hash wrote successfully
ok 56 - scalar context
ok 57 - list context
ok
t/020_attributes/004_attribute_triggers........................
1..25
ok 1 - The object isa Foo
ok 2 - The object isa Bar
ok 3 - The object isa Baz
ok 4 - ... did not die setting bar
ok 5 - ... set the value foo.bar correctly
ok 6 - ... which in turn set the value bar.foo correctly
ok 7 - ... bar.foo is a weak reference
ok 8 - ... did not die un-setting bar
ok 9 - ... set the value foo.bar correctly
ok 10 - ... which in turn set the value bar.foo correctly
ok 11 - ... did not die setting baz
ok 12 - ... set the value foo.baz correctly
ok 13 - ... which in turn set the value baz.foo correctly
ok 14 - ... baz.foo is a weak reference
ok 15 - The object isa Bar
ok 16 - The object isa Baz
ok 17 - The object isa Foo
ok 18 - ... set the value foo.bar correctly
ok 19 - ... which in turn set the value bar.foo correctly
ok 20 - ... bar.foo is a weak reference
ok 21 - ... set the value foo.baz correctly
ok 22 - ... which in turn set the value baz.foo correctly
ok 23 - ... baz.foo is a weak reference
ok 24 - ... a trigger must be a CODE ref
ok 25 - ... a trigger must be a CODE ref
ok
t/020_attributes/005_attribute_does............................
1..9
ok 1 - The object isa Foo::Class
ok 2 - The object isa Bar::Class
ok 3 - ... bar passed the type constraint okay
ok 4 - ... foo did not pass the type constraint okay
ok 5 - ... baz passed the type constraint okay
ok 6 - ... foo did not pass the type constraint okay
ok 7 - ... foo passed the type constraint okay
ok 8 - ... cannot have a does() which is not done by the isa()
ok 9 - ... cannot have a isa() which is cannot does()
ok
t/020_attributes/006_attribute_required........................
1..15
ok 1 - The object isa Foo
ok 2 - ... got the right bar
ok 3 - ... got the right baz
ok 4 - ... got the right boo
ok 5 - The object isa Foo
ok 6 - ... got the right bar
ok 7 - ... got the right baz
ok 8 - ... got the right boo
ok 9 - The object isa Foo
ok 10 - ... got the right bar
ok 11 - ... got the right baz
ok 12 - ... got the right boo
ok 13 - ... undef is a valid attribute value
ok 14 - ... undef is a valid attribute value
ok 15 - ... must supply all the required attribute
ok
t/020_attributes/007_attribute_custom_metaclass................
1..16
ok 1 - The object isa Foo
ok 2 - The object isa Foo::Meta::Attribute
ok 3 - The object isa Moose::Meta::Attribute
ok 4 - ... got the right name for our meta-attribute
ok 5 - ... our meta-attrubute created the accessor for us
ok 6 - ... our meta-attrubute created the type_constraint for us
ok 7 - The object isa Moose::Meta::TypeConstraint
ok 8 - ... got the right type constraint name
ok 9 - ... got the right type constraint parent name
ok 10 - ... the attribute metaclass need not be a Moose::Meta::Attribute as long as it behaves
ok 11 - ... the attribute metaclass alias worked correctly
ok 12 - ... the attribute metaclass alias worked correctly
ok 13 - The object isa Foo::Meta::Attribute
ok 14 - The object isa Moose::Meta::Attribute
ok 15 - The object isa Moose::Meta::Attribute::Custom::Bar
ok 16 - The object isa Moose::Meta::Attribute
ok
t/020_attributes/008_attribute_type_unions.....................
1..18
ok 1 - The object isa Foo
ok 2 - ... set bar successfully with an ARRAY ref
ok 3 - ... set bar successfully with a HASH ref
ok 4 - ... couldnt set bar successfully with a number
ok 5 - ... couldnt set bar successfully with a CODE ref
ok 6 - ... created new Foo with bar successfully set with an ARRAY ref
ok 7 - ... created new Foo with bar successfully set with a HASH ref
ok 8 - ... didnt create a new Foo with bar as a number
ok 9 - ... didnt create a new Foo with bar as a CODE ref
ok 10 - The object isa Bar
ok 11 - ... set baz successfully with a string
ok 12 - ... set baz successfully with a CODE ref
ok 13 - ... couldnt set baz successfully with a SCALAR ref
ok 14 - ... couldnt set bar successfully with a HASH ref
ok 15 - ... created new Bar with baz successfully set with a string
ok 16 - ... created new Bar with baz successfully set with a CODE ref
ok 17 - ... didnt create a new Bar with baz as a number
ok 18 - ... didnt create a new Bar with baz as a HASH ref
ok
t/020_attributes/009_attribute_inherited_slot_specs............
1..82
ok 1 - ... we can change the default attribute option
ok 2 - ... we can add change the isa as long as it is a subtype
ok 3 - ... we can change/add coerce as an attribute option
ok 4 - ... we can change/add required as an attribute option
ok 5 - ... we can change/add lazy as an attribute option
ok 6 - ... extend an attribute with parameterized type
ok 7 - ... extend an attribute with anon-subtype
ok 8 - ... now can extend an attribute with a non-subtype
ok 9 - ... we can add the handles attribute option
ok 10 - ... we can not alter the handles attribute option
ok 11 - ... can now create an attribute with an improper subtype relation
ok 12 - ... cannot create an attribute with an illegal option
ok 13 - ... cannot create an attribute with an illegal option
ok 14 - The object isa Foo
ok 15 - ... got the right undef default value
ok 16 - ... assigned foo correctly
ok 17 - ... got the right value for foo
ok 18 - ... foo is not coercing (as expected)
ok 19 - ... got the right default value
ok 20 - ... Foo::bar is a read/only attr
ok 21 - ... got the right undef default value
ok 22 - ... Foo::baz accepts hash refs
ok 23 - ... got the right value assigned to baz
ok 24 - ... Foo::baz accepts an array ref
ok 25 - ... got the right value assigned to baz
ok 26 - ... Foo::baz accepts scalar ref
ok 27 - ... got the right value assigned to baz
ok 28 - ... Foo::bunch_of_stuff accepts an array of strings
ok 29 - ... Foo::one_last_one accepts a code ref
ok 30 - ... Foo::baz accepts a code ref
ok 31 - ... got the right value assigned to baz
ok 32 - ... cannot create Bar without required gorch param
ok 33 - The object isa Bar
ok 34 - The object isa Foo
ok 35 - ... got the right undef default value
ok 36 - ... assigned foo correctly
ok 37 - ... got the right value for foo
ok 38 - ... assigned foo correctly
ok 39 - ... got the right value for foo
ok 40 - ... got the right default value
ok 41 - ... got the right default value
ok 42 - ... Bar::bar is a read/only attr
ok 43 - ... got the right undef default value
ok 44 - ... Bar::baz does not accept hash refs
ok 45 - ... Bar::baz can accept an array ref
ok 46 - ... got the right value assigned to baz
ok 47 - ... Bar::baz does not accept a scalar ref
ok 48 - ... Bar::bunch_of_stuff accepts an array of ints
ok 49 - ... Bar::bunch_of_stuff does not accept an array of strings
ok 50 - ... Bar::baz does not accept a code ref
ok 51 - ... Bar has a foo attr
ok 52 - ... Bar has a bar attr
ok 53 - ... Bar has a baz attr
ok 54 - ... Bar has a gorch attr
ok 55 - ... Bar has a gloum attr
ok 56 - ... Bar has a bling attr
ok 57 - ... Bar does have a bunch_of_stuff attr
ok 58 - ... Bar has a blang attr
ok 59 - ... Bar has a fail attr
ok 60 - ... Bar does not have an other_fail attr
ok 61 - ... Foo and Bar have different copies of foo
ok 62 - ... Foo and Bar have different copies of bar
ok 63 - ... Foo and Bar have different copies of baz
ok 64 - ... Foo and Bar have different copies of gorch
ok 65 - ... Foo and Bar have different copies of gloum
ok 66 - ... Foo and Bar have different copies of bling
ok 67 - ... Foo and Bar have different copies of bunch_of_stuff
ok 68 - ... Bar::bar inherited the type constraint too
ok 69 - ... Bar::baz inherited the type constraint too
ok 70 - ... Bar::bar inherited the right type constraint too
ok 71 - ... Foo::baz inherited the right type constraint too
ok 72 - ... Bar::baz inherited the right type constraint too
ok 73 - ... Foo::gorch is not a required attr
ok 74 - ... Bar::gorch is a required attr
ok 75 - ... Foo::bunch_of_stuff is an ArrayRef
ok 76 - ... Bar::bunch_of_stuff is an ArrayRef[Int]
ok 77 - ... Foo::gloum is not a required attr
ok 78 - ... Bar::gloum is a required attr
ok 79 - ... Foo::foo should not coerce
ok 80 - ... Bar::foo should coerce
ok 81 - ... Foo::foo should not handles
ok 82 - ... Bar::foo should handles
ok
t/020_attributes/010_attribute_delegation......................
1..86
ok 1 - The object isa Bar
ok 2 - ... we have something in bar->foo
ok 3 - The object isa Foo
ok 4 - The object isa Moose::Meta::Method::Delegation
ok 5 - associated_attribute->name for this method is foo
ok 6 - ... bar->foo->bar returned the right default
ok 7 - Bar->can('foo_bar')
ok 8 - ... bar->foo_bar delegated correctly
ok 9 - ... bar->foo->bar returned the right (changed) value
ok 10 - ... bar->foo_bar delegated correctly
ok 11 - ... bar->foo->bar returned the right (changed) value
ok 12 - ... bar->foo_bar delegated correctly
ok 13 - The object isa Foo
ok 14 - ... got the right foo->bar
ok 15 - ... assigned the new Foo to Bar->foo
ok 16 - ... assigned bar->foo with the new Foo
ok 17 - ... bar->foo->bar returned the right result
ok 18 - ... and bar->foo_bar delegated correctly again
ok 19 - The object isa Car
ok 20 - The object isa Engine
ok 21 - Engine->can('go')
ok 22 - Engine->can('stop')
ok 23 - ... got the right value from ->engine->go
ok 24 - ... got the right value from ->engine->stop
ok 25 - Car->can('go')
ok 26 - Car->can('stop')
ok 27 - ... got the right value from ->go
ok 28 - ... got the right value from ->stop
ok 29 - The object isa Baz::Proxy1
ok 30 - Baz::Proxy1->can('baz')
ok 31 - The object isa Baz
ok 32 - Baz::Proxy1->can('foo')
ok 33 - Baz::Proxy1->can('bar')
ok 34 - Baz::Proxy1->can('boo')
ok 35 - ... got the right proxied return value
ok 36 - ... got the right proxied return value
ok 37 - ... got the right proxied return value
ok 38 - The object isa Baz::Proxy2
ok 39 - Baz::Proxy2->can('baz')
ok 40 - The object isa Baz
ok 41 - Baz::Proxy2->can('foo')
ok 42 - Baz::Proxy2->can('boo')
ok 43 - ... got the right proxied return value
ok 44 - ... got the right proxied return value
ok 45 - The object isa Baz::Proxy3
ok 46 - Baz::Proxy3->can('baz')
ok 47 - The object isa Baz
ok 48 - Baz::Proxy3->can('bar')
ok 49 - Baz::Proxy3->can('boo')
ok 50 - ... got the right proxied return value
ok 51 - ... got the right proxied return value
ok 52 - The object isa Foo::Thing
ok 53 - The object isa Foo::Baz
ok 54 - ... we have the method we expect
ok 55 - ... we have the method we expect
ok 56 - ... we dont have the method we expect
ok 57 - ... got the right value
ok 58 - ... got the right value
ok 59 - ... got the right value
ok 60 - ... you cannot delegate to AUTOLOADED class with regexp
ok 61 - The object isa Bar::Autoloaded
ok 62 - ... we have something in bar->foo
ok 63 - The object isa Foo::Autoloaded
ok 64 - ... bar->foo->bar returned the right (changed) value
ok 65 - ... bar->foo_bar delegated correctly
ok 66 - ... bar->foo->bar returned the right (changed) value
ok 67 - ... bar->foo_bar delegated correctly
ok 68 - The object isa Foo::Autoloaded
ok 69 - ... got the right foo->bar
ok 70 - ... assigned the new Foo to Bar->foo
ok 71 - ... assigned bar->foo with the new Foo
ok 72 - ... bar->foo->bar returned the right result
ok 73 - ... and bar->foo_bar delegated correctly again
ok 74 - The object isa Baz::Autoloaded
ok 75 - ... we have something in baz->foo
ok 76 - The object isa Foo::Autoloaded
ok 77 - ... baz->foo->bar returned the right (changed) value
ok 78 - ... baz->foo_bar delegated correctly
ok 79 - ... baz->foo->bar returned the right (changed) value
ok 80 - ... baz->foo_bar delegated correctly
ok 81 - The object isa Foo::Autoloaded
ok 82 - ... got the right foo->bar
ok 83 - ... assigned the new Foo to Baz->foo
ok 84 - ... assigned baz->foo with the new Foo
ok 85 - ... baz->foo->bar returned the right result
ok 86 - ... and baz->foo_bar delegated correctly again
ok
t/020_attributes/011_more_attr_delegation......................
1..39
ok 1 - all_methods requires explicit isa
ok 2 - allow all_methods with explicit isa
ok 3 - don't need to declare isa if method list is predefined
ok 4 - can declare regex collector
ok 5 - can't create attr with generative handles parameter and no isa
ok 6 - can't create attr with generative handles parameter and no isa
ok 7 - can delegate to non moose class using explicit method list
ok 8 - subrefs on non moose class give no meta
ok 9 - plain classes are handed down to subs
ok 10 - can delegate to object even without explicit reader
ok 11 - The object isa Parent
ok 12 - The object isa ChildA
ok 13 - The object isa ChildB
ok 14 - The object isa ChildC
ok 15 - The object isa ChildD
ok 16 - The object isa ChildE
ok 17 - The object isa ChildF
ok 18 - ... no child_g accessor defined
ok 19 - parent method
ok 20 - child supermethod
ok 21 - child method
ok 22 - Parent->can('child_a_super_method')
ok 23 - Parent->can('child_a_method_1')
ok 24 - Parent->can('child_a_method_2')
ok 25 - but not subclass of delegate class
ok 26 - delegate behaves the same
ok 27 - delegates are their own invocants
ok 28 - Parent->can('child_b_method_1')
ok 29 - but not ChildB's unspecified siblings
ok 30 - none of ChildD's methods (child_d_method_1)
ok 31 - none of ChildD's methods (child_d_method_2)
ok 32 - Parent->can('child_c_method_3_la')
ok 33 - Parent->can('child_c_method_4_la')
ok 34 - ChildC method delegated OK
ok 35 - Parent->can('child_e_method_2')
ok 36 - but not child_e_method_1
ok 37 - delegate to non moose class (child_e_method_2)
ok 38 - Parent->can('child_g_method_1')
ok 39 - delegate to moose class without reader (child_g_method_1)
ok
t/020_attributes/012_misc_attribute_tests......................
1..47
ok 1 - ... the foo has docs
ok 2 - ... got the foo docs
ok 3 - The object isa Test::For::Lazy::TypeConstraint
ok 4 - ... this does not work
ok 5 - ... this does not work
ok 6 - The object isa Test::Arrayref::Attributes
ok 7 - Test::Arrayref::Attributes->can(...)
ok 8 - The object isa Test::Arrayref::RoleAttributes
ok 9 - Test::Arrayref::RoleAttributes->can(...)
ok 10 - ... default must return a value which passes the type constraint
ok 11 - setter took string
ok 12 - this is a *not* a string
ok 13 - ... dies without overloading the string
ok 14 - ... this doesnt trip overload to break anymore
ok 15 - ... this works fine though
ok 16 - foo is required
ok 17 - foo has builder
ok 18 - .. and it's named build_foo
ok 19 - foo builder works
ok 20 - ... no builder, wtf
ok 21 - foo is lazy
ok 22 - foo is required
ok 23 - foo is lazy_build
ok 24 - foo has clearer
ok 25 - .. and it's named clear_foo
ok 26 - foo has builder
ok 27 - .. and it's named build_foo
ok 28 - foo has predicate
ok 29 - .. and it's named has_foo
ok 30 - _foo is lazy
ok 31 - _foo is required
ok 32 - _foo is lazy_build
ok 33 - _foo has clearer
ok 34 - .. and it's named _clear_foo
ok 35 - _foo has builder
ok 36 - .. and it's named _build_foo
ok 37 - _foo has predicate
ok 38 - .. and it's named _has_foo
ok 39 - noo foo value yet
ok 40 - noo _foo value yet
ok 41 - foo builder works
ok 42 - foo builder works too
ok 43 - Correct error when a builder method is not present
ok 44 - create attr via direct sub call
ok 45 - create attr via can
ok 46 - attr created from sub call
ok 47 - attr created from can
ok
t/020_attributes/013_attr_dereference_test.....................
1..11
ok 1 - ... successfully created attr
ok 2 - The object isa Customer
ok 3 - The object isa Firm
ok 4 - Firm->can('customers')
ok 5 - ... got the right dereferenced value
ok 6 - The object isa Firm
ok 7 - Firm->can('customers')
ok 8 - ... got the right dereferenced value
ok 9 - ... its auto-de-ref-ing, not auto-en-ref-ing
ok 10 - ... set the results of bar correctly
ok 11 - ... auto-dereffed correctly
ok
t/020_attributes/014_misc_attribute_coerce_lazy................
1..2
ok 1 - The object isa Request
ok 2 - ... this coerces and passes the type constraint even with lazy
ok
t/020_attributes/015_attribute_traits..........................
1..12
ok 1 - The object isa My::Class
ok 2 - ... got the right value for bar
ok 3 - ... got the right value for gorch
ok 4 - My::Class->can('baz')
ok 5 - ... got the right value for baz
ok 6 - The object does My::Attribute::Trait
ok 7 - ... got the applied traits
ok 8 - ... got the applied traits
ok 9 - attr initialized
ok 10 - ... gorch doesnt do the trait
ok 11 - ... no traits applied
ok 12 - ... no traits applied
ok
t/020_attributes/016_attribute_traits_registered...............
1..23
ok 1 - The object isa My::Class
ok 2 - ... got the right value for bar
ok 3 - My::Class->can('baz')
ok 4 - ... got the right value for baz
ok 5 - The object does My::Attribute::Trait
ok 6 - attr initialized
ok 7 - does_role ignores aliases for sanity
ok 8 - attr->does uses aliases
ok 9 - does_role returns false for nonexistent roles
ok 10 - attr->does returns false for nonexistent roles
ok 11 - ... got the right value for bar
ok 12 - My::Derived::Class->can('baz')
ok 13 - ... got the right value for baz
ok 14 - The object does My::Attribute::Trait
ok 15 - attr initialized
ok 16 - The object does My::Other::Attribute::Trait
ok 17 - attr initialized
ok 18 - does_role ignores aliases for sanity
ok 19 - attr->does uses aliases
ok 20 - does_role returns false for nonexistent roles
ok 21 - attr->does returns false for nonexistent roles
ok 22 - My::Derived::Class->can('additional_method')
ok 23 - ... got the right value for additional_method
ok
t/020_attributes/017_attribute_traits_n_meta...................
1..7
ok 1 - The object isa My::Class
ok 2 - ... got the right value for bar
ok 3 - My::Class->can('baz')
ok 4 - ... got the right value for baz
ok 5 - The object isa My::Meta::Attribute::DefaultReadOnly
ok 6 - The object does My::Attribute::Trait
ok 7 - ... got the right metaclass customization
ok
t/020_attributes/018_no_init_arg...............................
1..4
ok 1 - ... created the attr okay
ok 2 - The object isa Foo
ok 3 - field is not set via init arg
ok 4 - field is set via setter
ok
t/020_attributes/019_attribute_lazy_initializer................
1..23
ok 1 - The object isa Moose::Meta::Attribute
ok 2 - ... got the right name
ok 3 - The object isa Moose::Meta::Attribute
ok 4 - ... got the right name
ok 5 - The object isa Moose::Meta::Attribute
ok 6 - ... got the right name
ok 7 - The object isa Foo
ok 8 - initial value set to 2x given value
ok 9 - The object isa Moose::Meta::Attribute
ok 10 - ... got the right name
ok 11 - initial lazy value set to 2x given value
ok 12 - The object isa Moose::Meta::Attribute
ok 13 - ... got the right name
ok 14 - initial lazy value with type set to 2x given value
ok 15 - initial lazy value with builder set to 2x given value
ok 16 - initial lazy value with builder and type set to 2x given value
ok 17 - The object isa Moose::Meta::Attribute
ok 18 - ... got the right name
ok 19 - The object isa Bar
ok 20 - initial value set to 2x given value
ok 21 - The object isa Moose::Meta::Attribute
ok 22 - ... got the right name
ok 23 - ... this fails, because initializer returns a bad type
ok
t/020_attributes/020_trigger_and_coerce........................
1..11
ok 1 - ... trigger is being called
ok 2 - The object isa Fake::DateTime
ok 3 - The object isa Fake::DateTime
ok 4 - The object isa Mortgage
ok 5 - The object isa Fake::DateTime
ok 6 - ... Mortgage is now immutable
ok 7 - ... trigger is being called
ok 8 - The object isa Fake::DateTime
ok 9 - The object isa Fake::DateTime
ok 10 - The object isa Mortgage
ok 11 - The object isa Fake::DateTime
ok
t/020_attributes/021_method_generation_rules...................
1..17
ok 1 - Can define attr with rw + writer
ok 2 - Test::Class::WriterRW->can(...)
ok 3 - Test::Class::WriterRW->_foo is writer
ok 4 - Test::Class::WriterRW->foo is reader
ok 5 - Test::Class::WriterRW->foo is not writer
ok 6 - Test::Class::WriterRW->_foo is not reader
ok 7 - Can define attr with ro + writer
ok 8 - Test::Class::WriterRO->can(...)
ok 9 - Test::Class::WriterRO->_foo is writer
ok 10 - Test::Class::WriterRO->foo is reader
ok 11 - Test::Class::WriterRO->foo is not writer
ok 12 - Test::Class::WriterRO->_foo is not reader
ok 13 - Can define attr with rw + accessor
ok 14 - Test::Class::AccessorRW->can('_foo')
ok 15 - Test::Class::AccessorRW->_foo is writer
ok 16 - Test::Class::AccessorRW->foo is reader
ok 17 - Cant define attr with ro + accessor
ok
t/020_attributes/022_legal_options_for_inheritance.............
1..2
ok 1 - ... added my_legal_option as legal option for inheritance
ok 2 - ... overloaded my_legal_option
ok
t/020_attributes/023_attribute_names...........................
1..8
ok 1 - has; fails
ok 2 - has undef; fails
ok 3 - has ""; fails
ok 4 - has 0; fails
ok 5 - has; fails
ok 6 - has undef; fails
ok 7 - has ""; fails
ok 8 - has 0; fails
ok
t/030_roles/001_meta_role......................................
1..27
ok 1 - The object isa Moose::Meta::Role
ok 2 - The object isa Class::MOP::Module
ok 3 - ... got the right name of FooRole
ok 4 - ... got the right version of FooRole
ok 5 - ... FooRole has the foo method
ok 6 - ... FooRole got the foo method
ok 7 - The object isa Moose::Meta::Role::Method
ok 8 - ... got the right method list
ok 9 - ... got the right attribute list
ok 10 - ... FooRole does not have the bar attribute
ok 11 - ... added the bar attribute okay
ok 12 - ... got the right attribute list
ok 13 - ... FooRole does have the bar attribute
ok 14 - ... got the correct description of the bar attribute
ok 15 - ... added the baz attribute okay
ok 16 - ... got the right attribute list
ok 17 - ... FooRole does have the baz attribute
ok 18 - ... got the correct description of the baz attribute
ok 19 - ... removed the bar attribute okay
ok 20 - ... got the right attribute list
ok 21 - ... FooRole does not have the bar attribute
ok 22 - ... FooRole does still have the baz attribute
ok 23 - ... no boo:before modifier
ok 24 - ... added a method modifier okay
ok 25 - ... now we have a boo:before modifier
ok 26 - ... got the right method back
ok 27 - ... got the right list of before method modifiers
ok
t/030_roles/002_role...........................................
1..36
ok 1 - ... extends() is not supported
ok 2 - ... augment() is not supported
ok 3 - ... inner() is not supported
ok 4 - The object isa Moose::Meta::Role
ok 5 - The object isa Class::MOP::Module
ok 6 - ... got the right name of FooRole
ok 7 - ... got the right version of FooRole
ok 8 - ... FooRole has the foo method
ok 9 - ... FooRole got the foo method
ok 10 - The object isa Moose::Meta::Role::Method
ok 11 - ... FooRole has the boo method
ok 12 - ... FooRole got the boo method
ok 13 - The object isa Moose::Meta::Role::Method
ok 14 - ... got the right method list
ok 15 - locally defined methods are still there
ok 16 - sugar was unimported
ok 17 - ... got the right attribute list
ok 18 - ... FooRole does have the bar attribute
ok 19 - ... got the correct description of the bar attribute
ok 20 - ... FooRole does have the baz attribute
ok 21 - ... got the correct description of the baz attribute
ok 22 - ... now we have a boo:before modifier
ok 23 - ... got the right method back
ok 24 - ... got the right list of before method modifiers
ok 25 - ... now we have a boo:after modifier
ok 26 - ... got the right method back
ok 27 - ... got the right method back
ok 28 - ... got the right list of after method modifiers
ok 29 - ... now we have a boo:around modifier
ok 30 - ... got the right method back
ok 31 - ... got the right list of around method modifiers
ok 32 - ... now we have a bling:override modifier
ok 33 - ... got the right method back
ok 34 - ... now we have a fling:override modifier
ok 35 - ... got the right method back
ok 36 - ... got the right list of override method modifiers
ok
t/030_roles/003_apply_role.....................................
1..86
ok 1 - The object isa Moose::Meta::Class
ok 2 - The object isa Moose::Meta::Class
ok 3 - ... does_role requires a role name
ok 4 - ... apply_role requires a role
ok 5 - ... apply_role requires a role
ok 6 - ... the FooClass->meta does_role FooRole
ok 7 - ... the FooClass->meta !does_role OtherRole
ok 8 - ... the FooBarClass->meta does_role FooRole
ok 9 - ... the FooBarClass->meta does_role BarRole
ok 10 - ... the FooBarClass->meta !does_role OtherRole
ok 11 - ... FooClass has the method bar
ok 12 - ... FooBarClass has the method bar
ok 13 - ... FooClass has the method baz
ok 14 - ... FooBarClass has the method baz
ok 15 - ... FooClass has the method foo
ok 16 - ... FooBarClass has the method foo
ok 17 - ... FooClass has the method boo
ok 18 - ... FooBarClass has the method boo
ok 19 - ... FooClass has the method blau
ok 20 - ... FooBarClass has the method blau
ok 21 - ... FooClass has the method goo
ok 22 - ... FooBarClass has the method goo
ok 23 - ... FooClass lacks the method woot
ok 24 - ... FooBarClass has the method woot
ok 25 - ... FooClass has the attribute bar
ok 26 - ... FooBarClass has the attribute bar
ok 27 - ... FooClass has the attribute baz
ok 28 - ... FooBarClass has the attribute baz
ok 29 - FooClass->can('does')
ok 30 - ... the FooClass does FooRole
ok 31 - ... the FooClass does not do BarRole
ok 32 - ... the FooClass does not do OtherRole
ok 33 - FooBarClass->can('does')
ok 34 - ... the FooClass does FooRole
ok 35 - ... the FooBarClass does FooBarRole
ok 36 - ... the FooBarClass does not do OtherRole
ok 37 - The object isa FooClass
ok 38 - The object isa FooBarClass
ok 39 - ... got the right value of goo
ok 40 - ... got the right value of goo
ok 41 - ... got the right value from ->boo
ok 42 - ... got the right value from ->boo (double wrapped)
ok 43 - ... got the right value from ->blau
ok 44 - ... got the right value from ->blau
ok 45 - FooClass->can('does')
ok 46 - ... an instance of FooClass does FooRole
ok 47 - ... and instance of FooClass does not do OtherRole
ok 48 - FooBarClass->can('does')
ok 49 - ... an instance of FooBarClass does FooRole
ok 50 - ... an instance of FooBarClass does BarRole
ok 51 - ... and instance of FooBarClass does not do OtherRole
ok 52 - FooClass->can('bar')
ok 53 - FooClass->can('baz')
ok 54 - FooClass->can('foo')
ok 55 - FooClass->can('boo')
ok 56 - FooClass->can('goo')
ok 57 - FooClass->can('blau')
ok 58 - ... got the right value of foo
ok 59 - ... $foo->baz is undefined
ok 60 - ... $foo->bar is undefined
ok 61 - ... baz is a read-only accessor
ok 62 - ... bar is a read-write accessor with a type constraint
ok 63 - The object isa FooClass
ok 64 - ... bar is a read-write accessor with a type constraint
ok 65 - ... got the right value for bar now
ok 66 - FooBarClass->can('does')
ok 67 - ... an instance of FooClass does FooRole
ok 68 - ... and instance of FooClass does not do OtherRole
ok 69 - FooBarClass->can('does')
ok 70 - ... an instance of FooBarClass does FooRole
ok 71 - ... an instance of FooBarClass does BarRole
ok 72 - ... and instance of FooBarClass does not do OtherRole
ok 73 - FooBarClass->can('bar')
ok 74 - FooBarClass->can('baz')
ok 75 - FooBarClass->can('foo')
ok 76 - FooBarClass->can('boo')
ok 77 - FooBarClass->can('goo')
ok 78 - FooBarClass->can('blau')
ok 79 - ... got the right value of foo
ok 80 - ... $foo->baz is undefined
ok 81 - ... $foo->bar is undefined
ok 82 - ... baz is a read-only accessor
ok 83 - ... bar is a read-write accessor with a type constraint
ok 84 - The object isa FooClass
ok 85 - ... bar is a read-write accessor with a type constraint
ok 86 - ... got the right value for bar now
ok
t/030_roles/004_role_composition_errors........................
1..10
ok 1 - ... the Foo::Role has a required method (foo)
ok 2 - ... no foo method implemented by Foo::Class
ok 3 - ... cannot consume a class, it must be a role
ok 4 - ... has a foo method implemented by Bar::Class
ok 5 - ... has a foo method implemented by Bar::Role
ok 6 - ... the Bar::Role has not inherited the required method from Foo::Role
ok 7 - ... no foo method implemented by Baz::Role
ok 8 - ... the Baz::Role has inherited the required method from Foo::Role
ok 9 - ... no foo method implemented by Baz::Class2
ok 10 - ... has a foo method implemented by Baz::Class2
ok
t/030_roles/005_role_conflict_detection........................
1..87
ok 1 - ... our mutually recursive roles combine okay
ok 2 - ... our mutually recursive roles combine okay (no matter what order)
ok 3 - The object isa My::Test1
ok 4 - ... $test1 does Role::Foo
ok 5 - ... $test1 does Role::Bar
ok 6 - My::Test1->can('foo')
ok 7 - My::Test1->can('bar')
ok 8 - ... $test1->foo worked
ok 9 - ... $test1->bar worked
ok 10 - The object isa My::Test2
ok 11 - ... $test2 does Role::Foo
ok 12 - ... $test2 does Role::Bar
ok 13 - My::Test2->can('foo')
ok 14 - My::Test2->can('bar')
ok 15 - ... $test2->foo worked
ok 16 - ... $test2->bar worked
ok 17 - ... it still has the bar method
ok 18 - ... it still has the required foo method
ok 19 - ... it still has the foo method
ok 20 - ... it still has the required bar method
ok 21 - ... role methods conflicted and method was required
ok 22 - ... role methods didnt conflict when manually combined
ok 23 - ... role methods didnt conflict when manually combined (in opposite order)
ok 24 - ... role methods didnt conflict when manually resolved
ok 25 - ... we didnt get any methods in the conflict
ok 26 - ... we did get the method when manually dealt with
ok 27 - ... we did get the method when manually dealt with
ok 28 - ... we did get the method when manually dealt with
ok 29 - ... our class does() the correct roles
ok 30 - ... our class does() the correct roles
ok 31 - ... our class does() the correct roles
ok 32 - ... our class does() the correct roles
ok 33 - ... our class does() the correct roles
ok 34 - ... our class does() the correct roles
ok 35 - ... our class does() the correct roles
ok 36 - ... our class does() the correct roles
ok 37 - ... and we got the first method that was added
ok 38 - ... and we got the first method that was added
ok 39 - ... and we got the local method
ok 40 - ... still got the bling method in Role::Bling::Bling
ok 41 - ... our role correctly does() the other role
ok 42 - ... dont have the bling method in Role::Bling::Bling::Bling
ok 43 - ... still got the bling method in Role::Bling::Bling::Bling
ok 44 - ... role attrs conflicted and method was required
ok 45 - ... role attrs didnt conflict when manually combined
ok 46 - ... role attrs didnt conflict when manually combined
ok 47 - ... role attrs conflicted and cannot be manually disambiguted
ok 48 - ... we didnt get any attributes in the conflict
ok 49 - ... we did get an attributes when manually composed
ok 50 - ... we did get an attributes when manually composed
ok 51 - ... we did still have an attribute ghost (conflict does not mess with class)
ok 52 - ... our class does() the correct roles
ok 53 - ... our class does() the correct roles
ok 54 - ... our class does() the correct roles
ok 55 - ... our class does() the correct roles
ok 56 - ... our class does() the correct roles
ok 57 - ... our class does() the correct roles
ok 58 - ... our class does() the correct roles
ok 59 - ... our class does() the correct roles
ok 60 - My::Test8->can('ghost')
ok 61 - My::Test9->can('ghost')
ok 62 - My::Test10->can('ghost')
ok 63 - ... got the expected default attr value
ok 64 - ... got the expected default attr value
ok 65 - ... got the expected default attr value
ok 66 - ... composed the role with override okay
ok 67 - ... composed the role with override okay
ok 68 - ... cannot compose it because we have no superclass
ok 69 - ... cannot compose it because we have no superclass
ok 70 - ... the twist method has been added
ok 71 - ... the twist method has been added
ok 72 - ... the twist method has not been added
ok 73 - ... the twist method has not been added
ok 74 - ... our class does() the correct roles
ok 75 - ... our class does() the correct roles
ok 76 - ... our class does() the correct roles
ok 77 - ... our class does() the correct roles
ok 78 - ... our class does() the correct roles
ok 79 - ... our class does() the correct roles
ok 80 - ... our class does() the correct roles
ok 81 - ... got the right method return
ok 82 - ... got the right method return
ok 83 - ... no twist method here at all
ok 84 - ... got the right method return (from superclass)
ok 85 - ... could not compose roles here, it dies
ok 86 - ... the twist method has not been added
ok 87 - ... the twist method returns the right value
ok
t/030_roles/006_role_exclusion.................................
1..22
ok 1 - ... Molecule::Organic exludes Molecule::Inorganic
ok 2 - ... Molecule::Organic exludes Molecule::Inorganic
ok 3 - ... adding the role (w/ excluded roles) okay
ok 4 - ... adding the role w/ excluded role conflict dies okay
ok 5 - ... adding the role (w/ excluded roles) okay
ok 6 - ... adding the role w/ excluded role conflict dies okay
ok 7 - ... My::Test1 does Molecule::Organic
ok 8 - ... My::Test1 does Molecule
ok 9 - ... My::Test1 excludes Molecule::Organic
ok 10 - ... ! My::Test2 does Molecule::Organic
ok 11 - ... ! My::Test2 does Molecule::Inorganic
ok 12 - ... My::Test3 does Molecule::Organic
ok 13 - ... My::Test1 does Molecule
ok 14 - ... My::Test3 excludes Molecule::Organic
ok 15 - ... ! My::Test3 does Molecule::Inorganic
ok 16 - ... cannot add exculded role into class which extends Methane
ok 17 - ... Methane does Molecule::Organic
ok 18 - ... My::Test4 isa Methane
ok 19 - ... My::Test4 does Molecule::Organic
ok 20 - ... My::Test4 meat does_role Molecule::Organic
ok 21 - ... My::Test4 meta excludes Molecule::Organic
ok 22 - ... My::Test4 does Molecule::Inorganic
ok
t/030_roles/007_roles_and_req_method_edge_cases................
1..15
ok 1 - ... the required "foo" method will not exist yet (but we will live)
ok 2 - ... foo method is still required for Role::ProvideFoo
ok 3 - ... the required "foo" method will be found in the superclass
ok 4 - ... the required "foo" method exists, although it is overriden locally
ok 5 - ... the required "foo" method will be found in the superclass
ok 6 - ... the required "foo" method exists, although it is a before modifier locally
ok 7 - ... the required "foo" method exists locally, and it is modified locally
ok 8 - The object isa Class::MOP::Method::Wrapped
ok 9 - ... but the original method is from our package
ok 10 - ... the required "foo" method exists in the symbol table (and we will live)
ok 11 - ... the required "foo" method will be found in the superclass (but then overriden)
ok 12 - ... the required "foo" method exists, but it is a before (and we will die)
ok 13 - ... our role combined successfully
ok 14 - required method exists in superclass as non-modifier, so we live
ok 15 - required method exists in superclass as non-modifier, so we live
ok
t/030_roles/008_role_conflict_edge_cases.......................
1..32
ok 1 - ... roles composed okay (no conflicts)
ok 2 - ... have the method foo as expected
ok 3 - ... have the method foo as expected
ok 4 - ... have the method foo as expected
ok 5 - ... have the method foo as expected
ok 6 - ... got the right value from method
ok 7 - ... roles composed okay (no conflicts)
ok 8 - ... have the method foo as expected
ok 9 - ... have the method foo as expected
ok 10 - ... have the method foo as expected
ok 11 - ... have the method foo as expected
ok 12 - The object isa Moose::Meta::Method::Overriden
ok 13 - ... have the method foo as expected
ok 14 - The object isa Class::MOP::Method
ok 15 - ... got the right value from method
ok 16 - ... got the right value from method
ok 17 - ... roles composed okay (no conflicts)
ok 18 - ... have the method foo as expected
ok 19 - ... have the method foo as expected
ok 20 - ... have the method foo as expected
ok 21 - ... have the method foo as expected
ok 22 - The object isa Class::MOP::Method::Wrapped
ok 23 - ... have the method foo as expected
ok 24 - The object isa Class::MOP::Method
ok 25 - ... got the right value from method
ok 26 - ... got the right value from method
ok 27 - ... roles composed okay (no conflicts)
ok 28 - ... have the attribute foo as expected
ok 29 - ... have the attribute foo as expected
ok 30 - ... have the attribute foo as expected
ok 31 - ... have the attribute foo as expected
ok 32 - ... got the right value from method
ok
t/030_roles/009_more_role_edge_cases...........................
1..74
ok 1 - ... role was composed as expected
ok 2 - does SubAA
ok 3 - does RootA
ok 4 - The object isa SubAB
ok 5 - SubAB->can('bar')
ok 6 - ... got thr right bar rv
ok 7 - SubAB->can('foo')
ok 8 - ... called foo successfully
ok 9 - ... got the right foo rv
ok 10 - ... composed the role successfully
ok 11 - BB does SubBA
ok 12 - BB does RootB
ok 13 - The object isa SubBB
ok 14 - SubBB->can('foo')
ok 15 - ... called foo successfully
ok 16 - foo rv
ok 17 - after hook called
ok 18 - ... called foo successfully (again)
ok 19 - after hook called (again)
ok 20 - ... this has the foo method
ok 21 - ... cannot compose an override over a local method
ok 22 - simple composition without abstract
ok 23 - simple composition with abstract
ok 24 - SimpleClassWithSome does Abstract
ok 25 - SimpleClassWithSome does ConcreteA
ok 26 - SimpleClassWithSome does ConcreteB
ok 27 - SimpleClassWithSome->can('method')
ok 28 - SimpleClassWithSome->can('other')
ok 29 - SimpleClassWithSome->can('another')
ok 30 - provided by abstract
ok 31 - provided by concrete a
ok 32 - provided by concrete b
ok 33 - SimpleClassWithAll does Abstract
ok 34 - SimpleClassWithAll does ConcreteA
ok 35 - SimpleClassWithAll does ConcreteB
ok 36 - SimpleClassWithAll->can('method')
ok 37 - SimpleClassWithAll->can('other')
ok 38 - SimpleClassWithAll->can('another')
ok 39 - provided by abstract
ok 40 - provided by concrete a
ok 41 - provided by concrete b
ok 42 - composition without abstract
ok 43 - composition with abstract
ok 44 - can compose ConcreteA and ConcreteC together
ok 45 - ClassWithSome does Abstract
ok 46 - ClassWithSome does ConcreteA
ok 47 - ClassWithSome does ConcreteB
ok 48 - ClassWithSome does ConcreteC
ok 49 - ClassWithSome->can('method')
ok 50 - ClassWithSome->can('other')
ok 51 - ClassWithSome->can('another')
ok 52 - provided by abstract
ok 53 - provided by concrete c + a
ok 54 - provided by concrete b
ok 55 - ClassWithAll does Abstract
ok 56 - ClassWithAll does ConcreteA
ok 57 - ClassWithAll does ConcreteB
ok 58 - ClassWithAll does ConcreteC
ok 59 - ClassWithAll->can('method')
ok 60 - ClassWithAll->can('other')
ok 61 - ClassWithAll->can('another')
ok 62 - provided by abstract
ok 63 - provided by concrete c + a
ok 64 - provided by concrete b
ok 65 - ClassWithEverything does Abstract
ok 66 - ClassWithEverything does ConcreteA
ok 67 - ClassWithEverything does ConcreteB
ok 68 - ClassWithEverything does ConcreteC
ok 69 - ClassWithEverything->can('method')
ok 70 - ClassWithEverything->can('other')
ok 71 - ClassWithEverything->can('another')
ok 72 - provided by abstract
ok 73 - provided by concrete c + a
ok 74 - provided by concrete b
ok
t/030_roles/010_run_time_role_composition......................
1..27
ok 1 - The object isa My::Class
ok 2 - The object isa My::Class
ok 3 - ... the role is not composed yet
ok 4 - ... we do not do any roles yet
ok 5 - ... we now do the Bark role
ok 6 - ... the class does not do the Bark role
ok 7 - The object isa My::Class
ok 8 - ... but it is no longer blessed into My::Class
ok 9 - ... the role is not composed at the class level
ok 10 - ... the role is now composed at the object level
ok 11 - ... got the right return value for the newly composed method
ok 12 - ... we do not do any roles yet
ok 13 - ... we now do the Bark role
ok 14 - ... they share the same anon-class/role thing
ok 15 - ... the original method responds as expected
ok 16 - ... we do not do the Sleeper role
ok 17 - ... we still do the Bark role
ok 18 - ... we now do the Sleeper role too
ok 19 - ... the class does not do the Sleeper role
ok 20 - ... they no longer share the same anon-class/role thing
ok 21 - The object isa My::Class
ok 22 - ... the original method still responds as expected
ok 23 - ... got the right return value for the newly composed method
ok 24 - ... got the right return value for the newly composed method
ok 25 - ... we do not do any roles yet
ok 26 - ... we now do the Bark role
ok 27 - ... they share the same anon-class/role thing again
ok
t/030_roles/011_overriding.....................................
1..39
ok 1 - define role C
ok 2 - define class A
ok 3 - Class::A->can(...)
ok 4 - ... got the right foo method
ok 5 - ... got the right zot method
ok 6 - ... got the right bar method
ok 7 - ... got the right xxy method
ok 8 - ... did not fufill the requirement of &bar method
ok 9 - ... did fufill the requirement of &bar method
ok 10 - ... Role::A::Conflict created the bar requirement
ok 11 - Class::A::Resolved->can('bar')
ok 12 - ... got the right bar method
ok 13 - define role Role::F
ok 14 - define class Class::B
ok 15 - Class::B->can(...)
ok 16 - ... got the &foo method okay
ok 17 - ... got the &zot method okay
ok 18 - ... got the &bar method okay
ok 19 - ... got the &xxy method okay
ok 20 - ... Role::F fufilled the &foo requirement
ok 21 - ... define role Role::D::And::E::Conflict
ok 22 - ... Role::D::And::E::Conflict fufilled the &foo requirement
ok 23 - ... Role::D::And::E::Conflict adds the &xxy requirement
ok 24 - ... Role::D::And::E::Conflict adds the &bar requirement
ok 25 - define role Role::I
ok 26 - defining class Class::C fails
ok 27 - resolved with method
ok 28 - Class::E->can(...)
ok 29 - ... got the right &foo method
ok 30 - ... got the right &zot method
ok 31 - ... got the right &bar method
ok 32 - ... got the right &xxy method
ok 33 - ... Role::I still have the &foo requirement
not ok 34 - resolved with attr # TODO add support for attribute methods fufilling reqs
# Failed (TODO) test 'resolved with attr'
# at t/030_roles/011_overriding.t line 222.
# died: 'Role::I' requires the method 'foo' to be implemented by 'Class::D', the method is only an attribute accessor at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Meta/Role/Application.pm line 59
# Moose::Meta::Role::Application::apply() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Meta/Role/Application/ToClass.pm line 17
# Moose::Meta::Role::Application::ToClass::apply() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Meta/Role.pm line 447
# Moose::Meta::Role::apply() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Util.pm line 93
# Moose::Util::apply_all_roles() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose.pm line 70
# Moose::with() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Exporter.pm line 192
# Moose::with() called at t/030_roles/011_overriding.t line 220
# Test::Exception::lives_ok() called at t/030_roles/011_overriding.t line 222
not ok 35 - Class::D->can(...) # TODO add support for attribute methods fufilling reqs
# Failed (TODO) test 'Class::D->can(...)'
# at t/030_roles/011_overriding.t line 224.
# Class::D->can('bar') failed
# Class::D->can('xxy') failed
not ok 36 - bar # TODO add support for attribute methods fufilling reqs
# Failed (TODO) test 'bar'
# at t/030_roles/011_overriding.t line 225.
# got: undef
# expected: 'Role::H::bar'
not ok 37 - xxy # TODO add support for attribute methods fufilling reqs
# Failed (TODO) test 'xxy'
# at t/030_roles/011_overriding.t line 226.
# got: undef
# expected: 'Role::I::xxy'
ok 38 - foo
ok 39 - zot
ok
t/030_roles/012_method_exclusion_in_composition................
1..19
ok 1 - we have a foo method
ok 2 - we have a baz method
ok 3 - ... but we excluded bar
ok 4 - we have a foo method
ok 5 - we have a bar method
ok 6 - we have a baz method
ok 7 - ... and the &foo method is not required
ok 8 - ... and the &bar method is required
ok 9 - ... composed our roles correctly
ok 10 - ... composed our roles correctly
ok 11 - The object isa My::Foo::Class
ok 12 - My::Foo::Class->can('foo')
ok 13 - ... got the right method
ok 14 - ... composed our roles correctly
ok 15 - we have a foo method
ok 16 - ... and the &foo method is not required
ok 17 - ... composed our roles correctly
ok 18 - we dont have a foo method
ok 19 - ... and the &foo method is required
ok
t/030_roles/013_method_aliasing_in_composition.................
1..35
ok 1 - ... this succeeds
ok 2 - ... this succeeds
ok 3 - we have a foo method
ok 4 - we have a baz method
ok 5 - we have a bar method
ok 6 - we have a role_bar method
ok 7 - ... this succeeds
ok 8 - ... this succeeds
ok 9 - we have a foo method
ok 10 - we have a baz method
ok 11 - we have a role_bar method
ok 12 - ... and the &bar method is not required
ok 13 - ... and the &role_bar method is not required
ok 14 - ... this succeeds
ok 15 - we have a foo method
ok 16 - we have a baz method
ok 17 - we have a role_bar method
ok 18 - ... and the &bar method is required
ok 19 - ... composed our roles correctly
ok 20 - ... composed our roles correctly
ok 21 - The object isa My::Foo::Class
ok 22 - My::Foo::Class->can('foo')
ok 23 - My::Foo::Class->can('foo_foo')
ok 24 - My::Foo::Class->can('bar_foo')
ok 25 - ... got the right method
ok 26 - ... got the right method
ok 27 - ... got the right method
ok 28 - ... composed our roles correctly
ok 29 - we have a foo method
ok 30 - we have a foo_foo method
ok 31 - we have a bar_foo method
ok 32 - ... and the &foo method is not required
ok 33 - ... composed our roles correctly
ok 34 - we dont have a foo_foo method
ok 35 - ... and the &foo method is required
ok
t/030_roles/014_more_alias_and_exclude.........................
1..9
ok 1 - ... everything works out all right
ok 2 - The object isa My::Class
ok 3 - ... got the right method
ok 4 - ... got the right method
ok 5 - ... got the right method
ok 6 - ... got the right method
ok 7 - ... got the right method
ok 8 - ... got the right method
ok 9 - ... got the right method
ok
t/030_roles/015_runtime_roles_and_attrs........................
1..11
ok 1 - The object isa Foo
ok 2 - ... the role is not composed yet
ok 3 - ditto
ok 4 - ... we do not do any roles yet
ok 5 - ... and setting the accessor fails (not a Dog yet)
ok 6 - ... we now do the Bark role
ok 7 - ... the role is now composed at the object level
ok 8 - it has fur
ok 9 - ... got the right return value for the newly composed method
ok 10 - ... and setting the accessor is okay
ok 11 - role attr initialized
ok
t/030_roles/016_runtime_roles_and_nonmoose.....................
1..7
ok 1 - The object isa Bar
ok 2 - The object isa Foo
ok 3 - ... the role is not composed yet
ok 4 - ... and setting the accessor fails (not a Dog yet)
ok 5 - ... the role is now composed at the object level
ok 6 - ... got the right return value for the newly composed method
ok 7 - ... and setting the accessor is okay
ok
t/030_roles/017_extending_role_attrs...........................
1..27
ok 1 - ... extended the attribute successfully
ok 2 - The object isa Foo
ok 3 - ... got the extended attribute
ok 4 - ... narrowed the role's type constraint successfully
ok 5 - The object isa Bar
ok 6 - ... got the extended attribute
ok 7 - ... can change the attribute's value to an Int
ok 8 - threw Regexp ((?-xism:^Attribute \(foo\) does not pass the type constraint because: Validation failed for 'Int' failed with value baz at ))
ok 9 - ... still has the old Int value
ok 10 - ... narrowed the role's type constraint successfully
ok 11 - The object isa Baz
ok 12 - ... got the extended attribute
ok 13 - ... can change the attribute's value to a ClassName
ok 14 - threw Regexp ((?-xism:^Attribute \(baz\) does not pass the type constraint because: Validation failed for 'ClassName\|Int' failed with value zonk at ))
ok 15 - ... still has the old ClassName value
ok 16 - ... narrowed the role's type constraint successfully
ok 17 - The object isa Quux
ok 18 - ... got the extended attribute
ok 19 - ... can change the attribute's value to an Int
ok 20 - ... can change the attribute's value to an ArrayRef
ok 21 - threw Regexp ((?-xism:^Attribute \(quux\) does not pass the type constraint because: Validation failed for 'ArrayRef\|Positive' failed with value quux at ))
ok 22 - ... still has the old ArrayRef value
ok 23 - threw Regexp ((?-xism:^Attribute \(quux\) does not pass the type constraint because: Validation failed for 'ArrayRef\|Positive' failed with value HASH\(\w+\) at ))
ok 24 - ... still has the old ArrayRef value
ok 25 - can get less specific in the subclass
ok 26 - or change the type completely
ok 27 - or add new types to the union
ok
t/030_roles/018_runtime_roles_w_params.........................
1..21
ok 1 - The object isa Foo
ok 2 - ... got the expect value
ok 3 - ... no baz method though
ok 4 - ... this works
ok 5 - ... got the expect value
ok 6 - ... we have baz method now
ok 7 - ... got the expect value
ok 8 - The object isa Foo
ok 9 - ... got the expect value
ok 10 - ... no baz method though
ok 11 - ... this works
ok 12 - ... got the expect value
ok 13 - ... we have baz method now
ok 14 - ... got the expect value
ok 15 - The object isa Foo
ok 16 - ... got the expect value
ok 17 - ... no baz method though
ok 18 - ... this works
ok 19 - ... got the expect value
ok 20 - ... we have baz method now
ok 21 - ... got the expect value
ok
t/030_roles/019_build..........................................
1..6
ok 1 - no calls to BUILD yet
ok 2
ok 3
ok 4 - no calls to BUILD yet
ok 5
ok 6
ok
t/030_roles/020_role_composite.................................
1..14
ok 1 - The object isa Moose::Meta::Role::Composite
ok 2 - ... got the composite role name
ok 3 - ... got the right roles
ok 4 - ... our composite does the role Role::Foo
ok 5 - ... our composite does the role Role::Bar
ok 6 - ... our composite does the role Role::Baz
ok 7 - ... this composed okay
ok 8 - The object isa Moose::Meta::Role::Composite
ok 9 - ... got the composite role name
ok 10 - ... got the right roles
ok 11 - ... our composite does the role Role::Foo
ok 12 - ... our composite does the role Role::Bar
ok 13 - ... our composite does the role Role::Baz
ok 14 - ... our composite does the role Role::Gorch
ok
t/030_roles/021_role_composite_exclusion.......................
1..12
ok 1 - ... got the right exclusions
ok 2 - ... got the right exclusions
ok 3 - ... this fails as expected
ok 4 - The object isa Moose::Meta::Role::Composite
ok 5 - ... got the composite role name
ok 6 - ... this lives as expected
ok 7 - The object isa Moose::Meta::Role::Composite
ok 8 - ... got the composite role name
ok 9 - ... this lives as expected
ok 10 - ... has excluded roles
ok 11 - ... this fails as expected
ok 12 - ... this fails as expected
ok
t/030_roles/022_role_composition_req_methods...................
1..16
ok 1 - The object isa Moose::Meta::Role::Composite
ok 2 - ... got the composite role name
ok 3 - ... this succeeds as expected
ok 4 - ... got the right list of required methods
ok 5 - The object isa Moose::Meta::Role::Composite
ok 6 - ... got the composite role name
ok 7 - ... this succeeds as expected
ok 8 - ... got the right list of required methods
ok 9 - The object isa Moose::Meta::Role::Composite
ok 10 - ... got the composite role name
ok 11 - ... this succeeds as expected
ok 12 - ... got the right list of required methods
ok 13 - The object isa Moose::Meta::Role::Composite
ok 14 - ... got the composite role name
ok 15 - ... this succeeds as expected
ok 16 - ... got the right list of required methods
ok
t/030_roles/023_role_composition_attributes....................
1..7
ok 1 - The object isa Moose::Meta::Role::Composite
ok 2 - ... got the composite role name
ok 3 - ... this succeeds as expected
ok 4 - ... got the right list of attributes
ok 5 - ... this fails as expected
ok 6 - ... this fails as expected
ok 7 - ... this fails as expected
ok
t/030_roles/024_role_composition_methods.......................
1..19
ok 1 - The object isa Moose::Meta::Role::Composite
ok 2 - ... got the composite role name
ok 3 - ... this succeeds as expected
ok 4 - ... got the right list of methods
ok 5 - The object isa Moose::Meta::Role::Composite
ok 6 - ... got the composite role name
ok 7 - ... this succeeds as expected
ok 8 - ... got the right list of methods
ok 9 - ... got the right list of required methods
ok 10 - The object isa Moose::Meta::Role::Composite
ok 11 - ... got the composite role name
ok 12 - ... this succeeds as expected
ok 13 - ... got the right list of methods
ok 14 - ... got the right list of required methods
ok 15 - The object isa Moose::Meta::Role::Composite
ok 16 - ... got the composite role name
ok 17 - ... this succeeds as expected
ok 18 - ... got the right list of methods
ok 19 - ... got the right list of required methods
ok
t/030_roles/025_role_composition_override......................
1..8
ok 1 - The object isa Moose::Meta::Role::Composite
ok 2 - ... got the composite role name
ok 3 - ... this lives ok
ok 4 - ... got the right list of methods
ok 5 - ... this fails as expected
ok 6 - ... this fails as expected
ok 7 - ... this fails as expected
ok 8 - ... this fails as expected
ok
t/030_roles/026_role_composition_method_mods...................
1..7
ok 1
ok 2 - The object isa Moose::Meta::Role::Composite
ok 3 - ... got the composite role name
ok 4 - ... this succeeds as expected
ok 5 - ... got the right list of methods
ok 6 - ... got the right list of methods
ok 7 - ... got the right list of methods
ok
t/030_roles/030_role_parameterized.............................
1..0 # Skip The feature this test exercises is not yet written
skipped: The feature this test exercises is not yet written
t/030_roles/031_roles_applied_in_create........................
1..1
ok 1 - Create a new class with several roles
ok
t/030_roles/032_roles_and_method_cloning.......................
1..14
ok 1 - ClassA has a foo method
ok 2 - The object isa Moose::Meta::Method
ok 3 - ClassA->foo was cloned from Role::Foo->foo
ok 4 - fq name is ClassA::foo
ok 5 - original fq name is Role::Foo::foo
ok 6 - Role::Bar has a foo method
ok 7 - Role::Bar->foo was cloned from Role::Foo->foo
ok 8 - fq name is Role::Bar::foo
ok 9 - original fq name is Role::Foo::foo
ok 10 - ClassB has a foo method
ok 11 - ClassA->foo was cloned from Role::Bar->foo
ok 12 - ... which in turn was cloned from Role::Foo->foo
ok 13 - fq name is ClassA::foo
ok 14 - original fq name is Role::Foo::foo
ok
t/040_type_constraints/001_util_type_constraints...............
1..44
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - ... this is a Num
ok 3 - ... this is not a Num
ok 4 - ... type constraint stringifies to name
ok 5 - ... this is a Str
ok 6 - ... this is not a Str
ok 7 - ... this is a Natural
ok 8 - ... this is not a Natural
ok 9 - ... this is not a Natural
ok 10 - ... this is a NaturalLessThanTen
ok 11 - ... this is not a NaturalLessThanTen
ok 12 - ... this is not a NaturalLessThanTen
ok 13 - ... this is not a NaturalLessThanTen
ok 14 - ... got a value back from negative
ok 15 - The object isa Moose::Meta::TypeConstraint
ok 16 - ... this is a negative number
ok 17 - ... this is not a negative number
ok 18 - ... this is not a negative number
ok 19 - ... $negative is a subtype of Number
ok 20 - ... $negative is not a subtype of String
ok 21 - The object isa Moose::Meta::TypeConstraint
ok 22 - ... NaturalLessThanTen is subtype of Natural
ok 23 - ... NaturalLessThanTen is subtype of Number
ok 24 - ... NaturalLessThanTen is not subtype of String
ok 25 - ... it has a message
ok 26 - ... validated successfully (no error)
ok 27 - ... validated unsuccessfully (got error)
ok 28 - The object isa Moose::Meta::TypeConstraint
ok 29 - ... Natural is a subtype of Number
ok 30 - ... Natural is not a subtype of String
ok 31 - ... it does not have a message
ok 32 - ... validated successfully (no error)
ok 33 - ... validated unsuccessfully (got error)
ok 34 - The object isa Moose::Meta::TypeConstraint
ok 35 - ... it does have a message
ok 36 - ... validated successfully (no error)
ok 37 - ... validated unsuccessfully (got error)
ok 38 - meta-attr construction ok even when type constraint utils loaded first
ok 39 - equals predicate returns undef for non existant constraint
ok 40 - is_subtype_of predicate returns undef for non existant constraint
ok 41 - is_a_type_of predicate returns undef for non existant constraint
ok 42 - ->add_type_constraint(undef) throws
ok 43 - ->add_type_constraint("foo") throws
ok 44 - ->add_type_constraint(SomeClass->new) throws
ok
t/040_type_constraints/002_util_type_constraints_export........
1..5
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - ... successfully exported &type to Foo package
ok 3 - ... successfully exported &subtype to Foo package
ok 4 - ... Ref worked correctly
ok 5 - ... ArrayRef worked correctly
ok
t/040_type_constraints/003_util_std_type_constraints...........
1..273
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - ... Any accepts anything
ok 3 - ... Any accepts anything
ok 4 - ... Any accepts anything
ok 5 - ... Any accepts anything
ok 6 - ... Any accepts anything
ok 7 - ... Any accepts anything
ok 8 - ... Any accepts anything
ok 9 - ... Any accepts anything
ok 10 - ... Any accepts anything
ok 11 - ... Any accepts anything
ok 12 - ... Any accepts anything
ok 13 - ... Any accepts anything
ok 14 - ... Any accepts anything
ok 15 - ... Item is the base type, so accepts anything
ok 16 - ... Item is the base type, so accepts anything
ok 17 - ... Item is the base type, so accepts anything
ok 18 - ... Item is the base type, so accepts anything
ok 19 - ... Item is the base type, so accepts anything
ok 20 - ... Item is the base type, so accepts anything
ok 21 - ... Item is the base type, so accepts anything
ok 22 - ... Item is the base type, so accepts anything
ok 23 - ... Item is the base type, so accepts anything
ok 24 - ... Item is the base type, so accepts anything
ok 25 - ... Item is the base type, so accepts anything
ok 26 - ... Item is the base type, so accepts anything
ok 27 - ... Item is the base type, so accepts anything
ok 28 - ... Defined accepts anything which is defined
ok 29 - ... Defined accepts anything which is defined
ok 30 - ... Defined accepts anything which is defined
ok 31 - ... Defined accepts anything which is defined
ok 32 - ... Defined accepts anything which is defined
ok 33 - ... Defined accepts anything which is defined
ok 34 - ... Defined accepts anything which is defined
ok 35 - ... Defined accepts anything which is defined
ok 36 - ... Defined accepts anything which is defined
ok 37 - ... Defined accepts anything which is defined
ok 38 - ... Defined accepts anything which is defined
ok 39 - ... Defined accepts anything which is defined
ok 40 - ... Defined accepts anything which is defined
ok 41 - ... Undef accepts anything which is not defined
ok 42 - ... Undef accepts anything which is not defined
ok 43 - ... Undef accepts anything which is not defined
ok 44 - ... Undef accepts anything which is not defined
ok 45 - ... Undef accepts anything which is not defined
ok 46 - ... Undef accepts anything which is not defined
ok 47 - ... Undef accepts anything which is not defined
ok 48 - ... Undef accepts anything which is not defined
ok 49 - ... Undef accepts anything which is not defined
ok 50 - ... Undef accepts anything which is not defined
ok 51 - ... Undef accepts anything which is not defined
ok 52 - ... Undef accepts anything which is not defined
ok 53 - ... Undef accepts anything which is not defined
ok 54 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 55 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 56 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 57 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 58 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 59 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 60 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 61 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 62 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 63 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 64 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 65 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 66 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 67 - ... Bool rejects anything which is not a 1 or 0 or "" or undef
ok 68 - ... Value accepts anything which is not a Ref
ok 69 - ... Value accepts anything which is not a Ref
ok 70 - ... Value accepts anything which is not a Ref
ok 71 - ... Value accepts anything which is not a Ref
ok 72 - ... Value rejects anything which is not a Value
ok 73 - ... Value rejects anything which is not a Value
ok 74 - ... Value rejects anything which is not a Value
ok 75 - ... Value rejects anything which is not a Value
ok 76 - ... Value rejects anything which is not a Value
ok 77 - ... Value rejects anything which is not a Value
ok 78 - ... Value rejects anything which is not a Value
ok 79 - ... Value rejects anything which is not a Value
ok 80 - ... Value rejects anything which is not a Value
ok 81 - ... Ref accepts anything which is not a Value
ok 82 - ... Ref accepts anything which is not a Value
ok 83 - ... Ref accepts anything which is not a Value
ok 84 - ... Ref accepts anything which is not a Value
ok 85 - ... Ref rejects anything which is not a Ref
ok 86 - ... Ref rejects anything which is not a Ref
ok 87 - ... Ref rejects anything which is not a Ref
ok 88 - ... Ref rejects anything which is not a Ref
ok 89 - ... Ref rejects anything which is not a Ref
ok 90 - ... Ref rejects anything which is not a Ref
ok 91 - ... Ref rejects anything which is not a Ref
ok 92 - ... Ref rejects anything which is not a Ref
ok 93 - ... Ref rejects anything which is not a Ref
ok 94 - ... Int accepts anything which is an Int
ok 95 - ... Int accepts anything which is an Int
ok 96 - ... Int accepts anything which is not a Int
ok 97 - ... Int accepts anything which is not a Int
ok 98 - ... Int rejects anything which is not a Int
ok 99 - ... Int rejects anything which is not a Int
ok 100 - ... Int rejects anything which is not a Int
ok 101 - ... Int rejects anything which is not a Int
ok 102 - ... Int rejects anything which is not a Int
ok 103 - ... Int rejects anything which is not a Int
ok 104 - ... Int rejects anything which is not a Int
ok 105 - ... Int rejects anything which is not a Int
ok 106 - ... Int rejects anything which is not a Int
ok 107 - ... Int rejects anything which is not a Int
ok 108 - ... Int rejects anything which is not a Int
ok 109 - ... Num accepts anything which is an Num
ok 110 - ... Num accepts anything which is an Num
ok 111 - ... Num accepts anything which is an Num
ok 112 - ... Num accepts anything which is an Num
ok 113 - ... Num rejects anything which is not a Num
ok 114 - ... Num rejects anything which is not a Num
ok 115 - ... Num rejects anything which is not a Num
ok 116 - ... Num rejects anything which is not a Num
ok 117 - ... Num rejects anything which is not a Num
ok 118 - ... Num rejects anything which is not a Num
ok 119 - ... Num rejects anything which is not a Num
ok 120 - ... Num rejects anything which is not a Num
ok 121 - ... Num rejects anything which is not a Num
ok 122 - ... Num rejects anything which is not a Num
ok 123 - ... Num rejects anything which is not a Num
ok 124 - ... Str accepts anything which is a Str
ok 125 - ... Str accepts anything which is a Str
ok 126 - ... Str accepts anything which is a Str
ok 127 - ... Str accepts anything which is a Str
ok 128 - ... Str rejects anything which is not a Str
ok 129 - ... Str rejects anything which is not a Str
ok 130 - ... Str rejects anything which is not a Str
ok 131 - ... Str rejects anything which is not a Str
ok 132 - ... Str rejects anything which is not a Str
ok 133 - ... Str rejects anything which is not a Str
ok 134 - ... Str rejects anything which is not a Str
ok 135 - ... Str rejects anything which is not a Str
ok 136 - ... Str rejects anything which is not a Str
ok 137 - ... ScalarRef rejects anything which is not a ScalarRef
ok 138 - ... ScalarRef rejects anything which is not a ScalarRef
ok 139 - ... ScalarRef rejects anything which is not a ScalarRef
ok 140 - ... ScalarRef rejects anything which is not a ScalarRef
ok 141 - ... ScalarRef rejects anything which is not a ScalarRef
ok 142 - ... ScalarRef rejects anything which is not a ScalarRef
ok 143 - ... ScalarRef rejects anything which is not a ScalarRef
ok 144 - ... ScalarRef accepts anything which is a ScalarRef
ok 145 - ... ScalarRef rejects anything which is not a ScalarRef
ok 146 - ... ScalarRef rejects anything which is not a ScalarRef
ok 147 - ... ScalarRef rejects anything which is not a ScalarRef
ok 148 - ... ScalarRef rejects anything which is not a ScalarRef
ok 149 - ... ScalarRef rejects anything which is not a ScalarRef
ok 150 - ... ArrayRef rejects anything which is not a ArrayRef
ok 151 - ... ArrayRef rejects anything which is not a ArrayRef
ok 152 - ... ArrayRef rejects anything which is not a ArrayRef
ok 153 - ... ArrayRef rejects anything which is not a ArrayRef
ok 154 - ... ArrayRef accepts anything which is a ArrayRef
ok 155 - ... ArrayRef rejects anything which is not a ArrayRef
ok 156 - ... ArrayRef rejects anything which is not a ArrayRef
ok 157 - ... ArrayRef rejects anything which is not a ArrayRef
ok 158 - ... ArrayRef rejects anything which is not a ArrayRef
ok 159 - ... ArrayRef rejects anything which is not a ArrayRef
ok 160 - ... ArrayRef rejects anything which is not a ArrayRef
ok 161 - ... ArrayRef rejects anything which is not a ArrayRef
ok 162 - ... ArrayRef rejects anything which is not a ArrayRef
ok 163 - ... HashRef rejects anything which is not a HashRef
ok 164 - ... HashRef rejects anything which is not a HashRef
ok 165 - ... HashRef rejects anything which is not a HashRef
ok 166 - ... HashRef rejects anything which is not a HashRef
ok 167 - ... HashRef rejects anything which is not a HashRef
ok 168 - ... HashRef accepts anything which is a HashRef
ok 169 - ... HashRef rejects anything which is not a HashRef
ok 170 - ... HashRef rejects anything which is not a HashRef
ok 171 - ... HashRef rejects anything which is not a HashRef
ok 172 - ... HashRef rejects anything which is not a HashRef
ok 173 - ... HashRef rejects anything which is not a HashRef
ok 174 - ... HashRef rejects anything which is not a HashRef
ok 175 - ... HashRef rejects anything which is not a HashRef
ok 176 - ... CodeRef rejects anything which is not a CodeRef
ok 177 - ... CodeRef rejects anything which is not a CodeRef
ok 178 - ... CodeRef rejects anything which is not a CodeRef
ok 179 - ... CodeRef rejects anything which is not a CodeRef
ok 180 - ... CodeRef rejects anything which is not a CodeRef
ok 181 - ... CodeRef rejects anything which is not a CodeRef
ok 182 - ... CodeRef accepts anything which is a CodeRef
ok 183 - ... CodeRef rejects anything which is not a CodeRef
ok 184 - ... CodeRef rejects anything which is not a CodeRef
ok 185 - ... CodeRef rejects anything which is not a CodeRef
ok 186 - ... CodeRef rejects anything which is not a CodeRef
ok 187 - ... CodeRef rejects anything which is not a CodeRef
ok 188 - ... CodeRef rejects anything which is not a CodeRef
ok 189 - ... RegexpRef rejects anything which is not a RegexpRef
ok 190 - ... RegexpRef rejects anything which is not a RegexpRef
ok 191 - ... RegexpRef rejects anything which is not a RegexpRef
ok 192 - ... RegexpRef rejects anything which is not a RegexpRef
ok 193 - ... RegexpRef rejects anything which is not a RegexpRef
ok 194 - ... RegexpRef rejects anything which is not a RegexpRef
ok 195 - ... RegexpRef rejects anything which is not a RegexpRef
ok 196 - ... RegexpRef rejects anything which is not a RegexpRef
ok 197 - ... RegexpRef rejects anything which is not a RegexpRef
ok 198 - ... RegexpRef rejects anything which is not a RegexpRef
ok 199 - ... RegexpRef accepts anything which is a RegexpRef
ok 200 - ... RegexpRef rejects anything which is not a RegexpRef
ok 201 - ... RegexpRef rejects anything which is not a RegexpRef
ok 202 - ... GlobRef rejects anything which is not a GlobRef
ok 203 - ... GlobRef rejects anything which is not a GlobRef
ok 204 - ... GlobRef rejects anything which is not a GlobRef
ok 205 - ... GlobRef rejects anything which is not a GlobRef
ok 206 - ... GlobRef rejects anything which is not a GlobRef
ok 207 - ... GlobRef rejects anything which is not a GlobRef
ok 208 - ... GlobRef rejects anything which is not a GlobRef
ok 209 - ... GlobRef rejects anything which is not a GlobRef
ok 210 - ... GlobRef accepts anything which is a GlobRef
ok 211 - ... GlobRef accepts anything which is a GlobRef
ok 212 - ... GlobRef rejects anything which is not a GlobRef
ok 213 - ... GlobRef rejects anything which is not a GlobRef
ok 214 - ... GlobRef rejects anything which is not a GlobRef
ok 215 - ... GlobRef rejects anything which is not a GlobRef
ok 216 - ... FileHandle rejects anything which is not a FileHandle
ok 217 - ... FileHandle rejects anything which is not a FileHandle
ok 218 - ... FileHandle rejects anything which is not a FileHandle
ok 219 - ... FileHandle rejects anything which is not a FileHandle
ok 220 - ... FileHandle rejects anything which is not a FileHandle
ok 221 - ... FileHandle rejects anything which is not a FileHandle
ok 222 - ... FileHandle rejects anything which is not a FileHandle
ok 223 - ... FileHandle rejects anything which is not a FileHandle
ok 224 - ... FileHandle rejects anything which is not a FileHandle
ok 225 - ... FileHandle accepts anything which is a FileHandle
ok 226 - ... FileHandle accepts anything which is a FileHandle
ok 227 - ... FileHandle rejects anything which is not a FileHandle
ok 228 - ... FileHandle rejects anything which is not a FileHandle
ok 229 - ... FileHandle rejects anything which is not a FileHandle
ok 230 - ... Object rejects anything which is not blessed
ok 231 - ... Object rejects anything which is not blessed
ok 232 - ... Object rejects anything which is not blessed
ok 233 - ... Object rejects anything which is not blessed
ok 234 - ... Object rejects anything which is not blessed
ok 235 - ... Object rejects anything which is not blessed
ok 236 - ... Object rejects anything which is not blessed
ok 237 - ... Object rejects anything which is not blessed
ok 238 - ... Object rejects anything which is not blessed
ok 239 - ... Object rejects anything which is not blessed
ok 240 - ... Object rejects anything which is not blessed
ok 241 - ... Object accepts anything which is blessed
ok 242 - ... Object accepts anything which is blessed
ok 243 - ... Role rejects anything which is not a Role
ok 244 - ... Role rejects anything which is not a Role
ok 245 - ... Role rejects anything which is not a Role
ok 246 - ... Role rejects anything which is not a Role
ok 247 - ... Role rejects anything which is not a Role
ok 248 - ... Role rejects anything which is not a Role
ok 249 - ... Role rejects anything which is not a Role
ok 250 - ... Role rejects anything which is not a Role
ok 251 - ... Role rejects anything which is not a Role
ok 252 - ... Role rejects anything which is not a Role
ok 253 - ... Role rejects anything which is not a Role
ok 254 - ... Role accepts anything which is not a Role
ok 255 - ... Role accepts anything which is not a Role
ok 256 - ... Role accepts anything which is not a Role
ok 257 - ... ClassName rejects anything which is not a ClassName
ok 258 - ... ClassName rejects anything which is not a ClassName
ok 259 - ... ClassName rejects anything which is not a ClassName
ok 260 - ... ClassName rejects anything which is not a ClassName
ok 261 - ... ClassName rejects anything which is not a ClassName
ok 262 - ... ClassName rejects anything which is not a ClassName
ok 263 - ... ClassName rejects anything which is not a ClassName
ok 264 - ... ClassName rejects anything which is not a ClassName
ok 265 - ... ClassName rejects anything which is not a ClassName
ok 266 - ... ClassName rejects anything which is not a ClassName
ok 267 - ... ClassName rejects anything which is not a ClassName
ok 268 - ... ClassName rejects anything which is not a ClassName
ok 269 - ... ClassName rejects anything which is not a ClassName
ok 270 - ... ClassName rejects anything which is not a ClassName
ok 271 - ... ClassName accepts anything which is a ClassName
ok 272 - ... ClassName accepts anything which is a ClassName
ok 273 - ... ClassName accepts anything which is a ClassName
ok
t/040_type_constraints/004_util_find_type_constraint...........
1..18
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - ... got the right name for Any
ok 3 - ... got the right name for Item
ok 4 - ... got the right name for Bool
ok 5 - ... got the right name for Undef
ok 6 - ... got the right name for Defined
ok 7 - ... got the right name for Value
ok 8 - ... got the right name for Num
ok 9 - ... got the right name for Int
ok 10 - ... got the right name for Str
ok 11 - ... got the right name for Ref
ok 12 - ... got the right name for ScalarRef
ok 13 - ... got the right name for ArrayRef
ok 14 - ... got the right name for HashRef
ok 15 - ... got the right name for CodeRef
ok 16 - ... got the right name for RegexpRef
ok 17 - ... got the right name for Object
ok 18 - ... got the right name for Role
ok
t/040_type_constraints/005_util_type_coercion..................
1..24
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - The object isa HTTPHeader
ok 3 - ... this passed the type test
ok 4 - ... this did not pass the type test
ok 5 - ... this did not pass the type test
ok 6 - coercion of anonymous subtype succeeds
ok 7 - The object isa Moose::Meta::TypeCoercion
ok 8 - The object isa HTTPHeader
ok 9 - ... got the right array
ok 10 - ... nothing assigned to the hash
ok 11 - The object isa HTTPHeader
ok 12 - ... got the right hash
ok 13 - ... nothing assigned to the array
ok 14 - ... got back what we put in
ok 15 - ... got back what we put in
ok 16 - The object isa Moose::Meta::TypeCoercion
ok 17 - The object isa HTTPHeader
ok 18 - ... got the right array
ok 19 - ... nothing assigned to the hash
ok 20 - The object isa HTTPHeader
ok 21 - ... got the right hash
ok 22 - ... nothing assigned to the array
ok 23 - ... got back what we put in
ok 24 - ... got back what we put in
ok
t/040_type_constraints/006_util_type_reloading.................
1..4
ok 1 - ... loaded Foo successfully
ok 2 - ... re-loaded Foo successfully
ok 3 - ... loaded Bar successfully
ok 4 - ... re-loaded Bar successfully
ok
t/040_type_constraints/007_util_more_type_coercion.............
1..25
ok 1 - The object isa Engine
ok 2 - ... type was coerced without incident
ok 3 - The object isa HTTPHeader
ok 4 - ... got the right array value of the header
ok 5 - ... no hash value set
ok 6 - ... type was coerced without incident
ok 7 - The object isa HTTPHeader
ok 8 - ... got the right hash value of the header
ok 9 - ... no array value set
ok 10 - ... dies with the wrong type, even after coercion
ok 11 - ... lives with the right type, even after coercion
ok 12 - The object isa Engine
ok 13 - The object isa HTTPHeader
ok 14 - ... got the right array value of the header
ok 15 - ... no hash value set
ok 16 - The object isa Engine
ok 17 - The object isa HTTPHeader
ok 18 - ... got the right hash value of the header
ok 19 - ... no array value set
ok 20 - The object isa Engine
ok 21 - The object isa HTTPHeader
ok 22 - ... no hash value set
ok 23 - ... no array value set
ok 24 - ... dies correctly with bad params
ok 25 - ... dies correctly with bad params
ok
t/040_type_constraints/008_union_types.........................
1..33
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - The object isa Moose::Meta::TypeConstraint
ok 3 - The object isa Moose::Meta::TypeConstraint
ok 4 - ... Str cannot accept an Undef value
ok 5 - ... Str can accept an String value
ok 6 - ... Undef cannot accept an Str value
ok 7 - ... Undef can accept an Undef value
ok 8 - The object isa Moose::Meta::TypeConstraint::Union
ok 9 - ... (Str | Undef) can accept an Undef value
ok 10 - ... (Str | Undef) can accept a String value
ok 11 - subtype of Str
ok 12 - subtype of Undef
ok 13 - not equal to Str
ok 14 - equal to self
ok 15 - equal to clone
ok 16 - equal to reversed clone
ok 17 - The object isa Moose::Meta::TypeConstraint
ok 18 - The object isa Moose::Meta::TypeConstraint
ok 19 - ... ArrayRef can accept an [] value
ok 20 - ... ArrayRef cannot accept an {} value
ok 21 - ... HashRef can accept an {} value
ok 22 - ... HashRef cannot accept an [] value
ok 23 - The object isa Moose::Meta::TypeConstraint::Union
ok 24 - ... (ArrayRef | HashRef) can accept []
ok 25 - ... (ArrayRef | HashRef) can accept {}
ok 26 - ... (ArrayRef | HashRef) cannot accept scalar refs
ok 27 - ... (ArrayRef | HashRef) cannot accept code refs
ok 28 - ... (ArrayRef | HashRef) cannot accept Numbers
ok 29 - ... (ArrayRef | HashRef) can accept []
ok 30 - ... (ArrayRef | HashRef) can accept {}
ok 31 - ... (ArrayRef | HashRef) cannot accept scalar refs
ok 32 - ... (ArrayRef | HashRef) cannot accept code refs
ok 33 - ... (ArrayRef | HashRef) cannot accept Numbers
ok
t/040_type_constraints/009_union_types_and_coercions...........
1..28
ok 1 - The object isa Email::Moose
ok 2 - The object isa IO::String
ok 3 - ... got correct empty string
ok 4 - The object isa Email::Moose
ok 5 - The object isa IO::String
ok 6 - ... got correct string
ok 7 - ... this will coerce correctly
ok 8 - The object isa IO::String
ok 9 - ... got correct string
ok 10 - The object isa Email::Moose
ok 11 - The object isa IO::String
ok 12 - ... got correct string
ok 13 - ... this will coerce correctly
ok 14 - The object isa IO::String
ok 15 - ... got correct string
ok 16 - The object isa Email::Moose
ok 17 - The object isa IO::String
ok 18 - ... and it is the one we expected
ok 19 - ... got correct string
ok 20 - ... this will coerce correctly
ok 21 - The object isa IO::String
ok 22 - ... and it is the one we expected
ok 23 - ... got correct string
ok 24 - The object isa Email::Moose
ok 25 - The object isa IO::File
ok 26 - The object isa Email::Moose
ok 27 - The object isa IO::File
ok 28 - ... and it is the one we expected
ok
t/040_type_constraints/010_misc_type_tests.....................
1..8
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - ... create bare subtype fine
ok 3 - The object isa Moose::Meta::TypeConstraint
ok 4 - Created Instance
ok 5 - isa correct type isa Test::Moose::Meta::TypeConstraint::Union
ok 6 - Got expected stringification result
ok 7 - made a subtype from our type object
ok 8 - made a subtype of our subtype
ok
t/040_type_constraints/011_container_type_constraint...........
1..22
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - use Moose::Meta::TypeConstraint::Parameterized;
ok 3 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 4 - The object isa Moose::Meta::TypeConstraint
ok 5 - ... [ 1, 2, 3, 4 ] passed successfully
ok 6 - ... [qw/foo bar baz/] failed successfully
ok 7 - ... [ 1, 2, 3, qw/foo bar/] failed successfully
ok 8 - ... 1 failed successfully
ok 9 - ... {} failed successfully
ok 10 - ... sub { () } failed successfully
ok 11 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 12 - The object isa Moose::Meta::TypeConstraint
ok 13 - ... { one => 1, two => 2, three => 3 } passed successfully
ok 14 - ... { 1 => one, 2 => two, 3 => three } failed successfully
ok 15 - ... { 1 => one, 2 => two, three => 3 } failed successfully
ok 16 - ... 1 failed successfully
ok 17 - ... [] failed successfully
ok 18 - ... sub { () } failed successfully
ok 19 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 20 - The object isa Moose::Meta::TypeConstraint
ok 21 - ... [[ 1, 2, 3 ], [ 4, 5, 6 ]] passed successfully
ok 22 - ... [[ 1, 2, 3 ], [ qw/foo bar/ ]] failed successfully
ok
t/040_type_constraints/012_container_type_coercion.............
1..10
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - use Moose::Meta::TypeConstraint::Parameterized;
ok 3 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 4 - The object isa Moose::Meta::TypeConstraint
ok 5 - ... found the type we just added
ok 6 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 7 - The object isa Moose::Meta::TypeConstraint
ok 8 - ... found the type we just added
ok 9 - The object isa Foo
ok 10 - ... our coercion worked!
ok
t/040_type_constraints/013_advanced_type_creation..............
1..33
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - use Moose::Meta::TypeConstraint::Parameterized;
ok 3 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 4 - ... this passed the type check
ok 5 - ... this passed the type check
ok 6 - ... this passed the type check
ok 7 - ... this didnt pass the type check
ok 8 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 9 - ... this passed the type check
ok 10 - ... this passed the type check
ok 11 - ... this passed the type check
ok 12 - ... this didnt pass the type check
ok 13 - The object isa Moose::Meta::TypeConstraint::Union
ok 14 - ... this passed the type check
ok 15 - ... this passed the type check
ok 16 - ... this didnt pass the type check
ok 17 - ... this didnt pass the type check
ok 18 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 19 - The object isa Moose::Meta::TypeConstraint
ok 20 - ... [ 1, 2, 3, 4 ] passed successfully
ok 21 - ... [qw/foo bar baz/] failed successfully
ok 22 - ... [ 1, 2, 3, qw/foo bar/] failed successfully
ok 23 - ... 1 failed successfully
ok 24 - ... {} failed successfully
ok 25 - ... sub { () } failed successfully
ok 26 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 27 - The object isa Moose::Meta::TypeConstraint
ok 28 - ... [[ 1, 2, 3 ], [ 4, 5, 6 ]] passed successfully
ok 29 - ... [[ 1, 2, 3 ], [ qw/foo bar/ ]] failed successfully
ok 30 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 31 - The object isa Moose::Meta::TypeConstraint
ok 32 - ... [[[ 1, 2, 3 ], [ 4, 5, 6 ]], [[ 7, 8, 9 ]]] passed successfully
ok 33 - ... [[[ 1, 2, 3 ]], [[ qw/foo bar/ ]]] failed successfully
ok
t/040_type_constraints/014_type_notation_parser................
1..41
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - ... this correctly detected a container (ArrayRef[Foo])
ok 3 - ... this correctly detected a container (ArrayRef[Foo | Int])
ok 4 - ... this correctly detected a container (ArrayRef[ArrayRef[Int]])
ok 5 - ... this correctly detected a container (ArrayRef[ArrayRef[Int | Foo]])
ok 6 - ... this correctly detected a container (ArrayRef[ArrayRef[Int|Str]])
ok 7 - ... this correctly detected a non-container (ArrayRef[])
ok 8 - ... this correctly detected a non-container (ArrayRef[Foo]Bar)
ok 9 - ... this correctly split the container (ArrayRef[Foo|Int])
ok 10 - ... this correctly split the container (ArrayRef[Foo | Int])
ok 11 - ... this correctly split the container (ArrayRef[ArrayRef[Int]])
ok 12 - ... this correctly split the container (ArrayRef[Foo])
ok 13 - ... this correctly split the container (ArrayRef[ArrayRef[Int | Foo]])
ok 14 - ... this correctly split the container (ArrayRef[ArrayRef[Int|Str]])
ok 15 - ... this correctly detected union (Int | Str)
ok 16 - ... this correctly detected union (Int|Str)
ok 17 - ... this correctly detected union (ArrayRef[Foo] | Int)
ok 18 - ... this correctly detected union (ArrayRef[Foo]|Int)
ok 19 - ... this correctly detected union (Int | ArrayRef[Foo])
ok 20 - ... this correctly detected union (Int|ArrayRef[Foo])
ok 21 - ... this correctly detected union (ArrayRef[Foo | Int] | Str)
ok 22 - ... this correctly detected union (ArrayRef[Foo|Int]|Str)
ok 23 - ... this correctly detected union (Str | ArrayRef[Foo | Int])
ok 24 - ... this correctly detected union (Str|ArrayRef[Foo|Int])
ok 25 - ... this correctly detected union (Some|Silly|Name|With|Pipes | Int)
ok 26 - ... this correctly detected union (Some|Silly|Name|With|Pipes|Int)
ok 27 - ... this correctly detected a non-union (Int)
ok 28 - ... this correctly detected a non-union (ArrayRef[Foo | Int])
ok 29 - ... this correctly detected a non-union (ArrayRef[Foo|Int])
ok 30 - ... this correctly split the union (Str|ArrayRef[Foo|Int])
ok 31 - ... this correctly split the union (Some|Silly|Name|With|Pipes | Int)
ok 32 - ... this correctly split the union (Int | ArrayRef[Foo])
ok 33 - ... this correctly split the union (Int | Str)
ok 34 - ... this correctly split the union (Int|Str)
ok 35 - ... this correctly split the union (Some|Silly|Name|With|Pipes|Int)
ok 36 - ... this correctly split the union (Int|ArrayRef[Foo])
ok 37 - ... this correctly split the union (ArrayRef[Foo|Int]|Str)
ok 38 - ... this correctly split the union (ArrayRef[Foo] | Int)
ok 39 - ... this correctly split the union (Str | ArrayRef[Foo | Int])
ok 40 - ... this correctly split the union (ArrayRef[Foo]|Int)
ok 41 - ... this correctly split the union (ArrayRef[Foo | Int] | Str)
ok
t/040_type_constraints/015_enum................................
1..107
ok 1 - 'a' is a letter
ok 2 - 'b' is a letter
ok 3 - 'c' is a letter
ok 4 - 'd' is a letter
ok 5 - 'e' is a letter
ok 6 - 'f' is a letter
ok 7 - 'g' is a letter
ok 8 - 'h' is a letter
ok 9 - 'i' is a letter
ok 10 - 'j' is a letter
ok 11 - 'k' is a letter
ok 12 - 'l' is a letter
ok 13 - 'm' is a letter
ok 14 - 'n' is a letter
ok 15 - 'o' is a letter
ok 16 - 'p' is a letter
ok 17 - 'q' is a letter
ok 18 - 'r' is a letter
ok 19 - 's' is a letter
ok 20 - 't' is a letter
ok 21 - 'u' is a letter
ok 22 - 'v' is a letter
ok 23 - 'w' is a letter
ok 24 - 'x' is a letter
ok 25 - 'y' is a letter
ok 26 - 'z' is a letter
ok 27 - 'A' is a letter
ok 28 - 'B' is a letter
ok 29 - 'C' is a letter
ok 30 - 'D' is a letter
ok 31 - 'E' is a letter
ok 32 - 'F' is a letter
ok 33 - 'G' is a letter
ok 34 - 'H' is a letter
ok 35 - 'I' is a letter
ok 36 - 'J' is a letter
ok 37 - 'K' is a letter
ok 38 - 'L' is a letter
ok 39 - 'M' is a letter
ok 40 - 'N' is a letter
ok 41 - 'O' is a letter
ok 42 - 'P' is a letter
ok 43 - 'Q' is a letter
ok 44 - 'R' is a letter
ok 45 - 'S' is a letter
ok 46 - 'T' is a letter
ok 47 - 'U' is a letter
ok 48 - 'V' is a letter
ok 49 - 'W' is a letter
ok 50 - 'X' is a letter
ok 51 - 'Y' is a letter
ok 52 - 'Z' is a letter
ok 53 - 'ab' is not a letter
ok 54 - 'abc' is not a letter
ok 55 - 'abcd' is not a letter
ok 56 - '0' is not a letter
ok 57 - '4' is not a letter
ok 58 - '9' is not a letter
ok 59 - '~' is not a letter
ok 60 - '@' is not a letter
ok 61 - '$' is not a letter
ok 62 - '%' is not a letter
ok 63 - 'l33t' is not a letter
ok 64 - 'st3v4n' is not a letter
ok 65 - '3num' is not a letter
ok 66 - 'Perl 5' is a language
ok 67 - 'Perl 6' is a language
ok 68 - 'PASM' is a language
ok 69 - 'PIR' is a language
ok 70 - 'perl 5' is not a language
ok 71 - 'Python' is not a language
ok 72 - 'Ruby' is not a language
ok 73 - 'Perl 666' is not a language
ok 74 - 'PASM++' is not a language
ok 75 - '*' is a metacharacter
ok 76 - '+' is a metacharacter
ok 77 - '?' is a metacharacter
ok 78 - '.' is a metacharacter
ok 79 - '|' is a metacharacter
ok 80 - '(' is a metacharacter
ok 81 - ')' is a metacharacter
ok 82 - '[' is a metacharacter
ok 83 - ']' is a metacharacter
ok 84 - '\' is a metacharacter
ok 85 - '<' is not a metacharacter
ok 86 - '>' is not a metacharacter
ok 87 - '&' is not a metacharacter
ok 88 - '%' is not a metacharacter
ok 89 - '$' is not a metacharacter
ok 90 - '@' is not a metacharacter
ok 91 - '!' is not a metacharacter
ok 92 - '~' is not a metacharacter
ok 93 - '`' is not a metacharacter
ok 94 - '.*' is not a metacharacter
ok 95 - 'fish(sticks)?' is not a metacharacter
ok 96 - 'atreides' is not a metacharacter
ok 97 - '^1?$|^(11+?)\1+$' is not a metacharacter
ok 98 - The object isa Moose::Meta::TypeConstraint
ok 99 - ... got the right name
ok 100 - ... got the right parent name
ok 101 - 'Perl 5' is a language
ok 102 - 'Perl 6' is a language
ok 103 - 'PASM' is a language
ok 104 - 'PIR' is a language
ok 105 - doesn't equal a diff enum
ok 106 - equals itself
ok 107 - equals duplicate
ok
t/040_type_constraints/016_subtyping_parameterized_types.......
1..30
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - ... created the subtype special okay
ok 3 - The object isa Moose::Meta::TypeConstraint
ok 4 - ... name is correct
ok 5 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 6 - The object isa Moose::Meta::TypeConstraint
ok 7 - ... parent name is correct
ok 8 - ... validated it correctly
ok 9 - ... validated it correctly
ok 10 - equals to self
ok 11 - not equal to parent
ok 12 - parent equals to self
ok 13 - ... created the subtype special okay
ok 14 - The object isa Moose::Meta::TypeConstraint
ok 15 - ... name is correct
ok 16 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 17 - The object isa Moose::Meta::TypeConstraint
ok 18 - ... parent name is correct
ok 19 - ... validated it correctly
ok 20 - ... validated it correctly
ok 21 - ... validated it correctly
ok 22
ok 23 - The object isa Moose::Meta::TypeConstraint
ok 24 - The object isa Moose::Meta::TypeConstraint::Parameterizable
ok 25 - validated
ok 26 - failed
ok 27 - The object isa Moose::Meta::TypeConstraint
ok 28 - validated
ok 29 - failed
ok 30 - failed
ok
t/040_type_constraints/017_subtyping_union_types...............
1..21
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - ... created the subtype special okay
ok 3 - The object isa Moose::Meta::TypeConstraint
ok 4 - ... name is correct
ok 5 - The object isa Moose::Meta::TypeConstraint::Union
ok 6 - The object isa Moose::Meta::TypeConstraint
ok 7 - ... parent name is correct
ok 8 - ... validated it correctly
ok 9 - ... validated it correctly
ok 10 - ... validated it correctly
ok 11 - ... created the subtype special okay
ok 12 - The object isa Moose::Meta::TypeConstraint
ok 13 - ... name is correct
ok 14 - The object isa Moose::Meta::TypeConstraint::Union
ok 15 - The object isa Moose::Meta::TypeConstraint
ok 16 - ... parent name is correct
ok 17 - ... validated it correctly
ok 18 - ... validated it correctly
ok 19 - ... validated it correctly
ok 20 - ... validated it correctly
ok 21 - ... validated it correctly
ok
t/040_type_constraints/018_custom_parameterized_types..........
1..28
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - use Moose::Meta::TypeConstraint::Parameterized;
ok 3 - ... created the subtype special okay
ok 4 - ... created the subtype special okay
ok 5 - ... created the subtype special okay
ok 6 - The object isa Moose::Meta::TypeConstraint
ok 7 - ... name is correct
ok 8 - The object isa Moose::Meta::TypeConstraint
ok 9 - ... parent name is correct
ok 10 - ... validated it correctly
ok 11 - ... validated it correctly
ok 12 - equals to self
ok 13 - not equal to parent
ok 14 - ... validated it correctly
ok 15 - ... validated it correctly
ok 16 - ... validated it correctly
ok 17 - ... validated it correctly
ok 18 - equals to self
ok 19 - equals to self
ok 20 - not equal to unparametrized self
ok 21 - equal to clone
ok 22 - not equal to different parameter
ok 23 - ... validated it correctly
ok 24 - ... validated it correctly
ok 25 - ... validated it correctly
ok 26 - ... validated it correctly
ok 27 - non-containers cannot be parameterized
ok 28 - non-containers cannot be parameterized
ok
t/040_type_constraints/019_coerced_parameterized_types.........
1..11
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - use Moose::Meta::TypeConstraint::Parameterized;
ok 3 - ... created the coercion okay
ok 4 - ... validated it correctly (pass)
ok 5 - ... validated it correctly (fail)
ok 6 - ... validated it correctly (fail)
ok 7 - ... created the coercion okay
ok 8 - ... validated it correctly (fail)
ok 9 - ... validated it correctly (pass)
ok 10 - ... validated it correctly (fail)
ok 11 - ... validated it correctly (fail)
ok
t/040_type_constraints/020_class_type_constraint...............
1..18
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - class_type keywork works
ok 3 - class_type keywork works with message
ok 4 - class attribute
ok 5 - subtype of gorch
ok 6 - subtype of bar
ok 7 - subtype of Object
ok 8 - Foo passes Bar
ok 9 - Bar passes Bar
ok 10 - but Bar doesn't pass Gorch
ok 11 - Beep passes Beep
ok 12 - Boop has a message
ok 13 - boop gives correct error message
ok 14 - equals self
ok 15 - equals anon constraint of same value
ok 16 - equals differently named constraint of same value
ok 17 - doesn't equal other anon constraint
ok 18 - subtype of other anon constraint
ok
t/040_type_constraints/021_maybe_type_constraint...............
1..17
ok 1 - The object isa Moose::Meta::TypeConstraint
ok 2 - The object isa Moose::Meta::TypeConstraint::Parameterized
ok 3 - equals self
ok 4 - not equal to parent
ok 5 - not equal to Maybe
ok 6 - parent is Maybe
ok 7 - equal to clone
ok 8 - not equal to clone with diff param
ok 9 - not equal to declarative version of diff param
ok 10 - ... checked type correctly (pass)
ok 11 - ... checked type correctly (pass)
ok 12 - ... checked type correctly (fail)
ok 13 - ... checked type correctly (fail)
ok 14 - ... it worked!
ok 15 - ... it worked!
ok 16 - ... failed the type check
ok 17 - ... failed the type check
ok
t/040_type_constraints/022_custom_type_errors..................
1..8
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - ... no errors thrown, value is good
ok 3 - ... no errors thrown, value is good
ok 4 - gave custom supertype error message on new
ok 5 - gave custom subtype error message on new
ok 6 - ... no errors thrown, value is good
ok 7 - gave custom supertype error message on set_value
ok 8 - gave custom subtype error message on set_value
ok
t/040_type_constraints/023_types_and_undef.....................
1..54
ok 1 - ... undef is a Undef
ok 2 - ... undef is NOT a Defined
ok 3 - ... undef is NOT a Int
ok 4 - ... undef is NOT a Number
ok 5 - ... undef is NOT a Str
ok 6 - ... undef is NOT a String
ok 7 - ... 5 is a NOT a Undef
ok 8 - ... 5 is a Defined
ok 9 - ... 5 is a Int
ok 10 - ... 5 is a Number
ok 11 - ... 5 is a Str
ok 12 - ... 5 is NOT a String
ok 13 - ... 0.5 is a NOT a Undef
ok 14 - ... 0.5 is a Defined
ok 15 - ... 0.5 is NOT a Int
ok 16 - ... 0.5 is a Number
ok 17 - ... 0.5 is a Str
ok 18 - ... 0.5 is NOT a String
ok 19 - ... "Foo" is NOT a Undef
ok 20 - ... "Foo" is a Defined
ok 21 - ... "Foo" is NOT a Int
ok 22 - ... "Foo" is NOT a Number
ok 23 - ... "Foo" is a Str
ok 24 - ... "Foo" is a String
ok 25 - ... undef is a Foo->Undef
ok 26 - ... undef is NOT a Foo->Defined
ok 27 - ... undef is NOT a Foo->Int
ok 28 - ... undef is NOT a Foo->Number
ok 29 - ... undef is NOT a Foo->Str
ok 30 - ... undef is NOT a Foo->String
ok 31 - ... 5 is NOT a Foo->Undef
ok 32 - ... 5 is a Foo->Defined
ok 33 - ... 5 is a Foo->Int
ok 34 - ... 5 is a Foo->Number
ok 35 - ... 5 is a Foo->Str
ok 36 - ... 5 is NOT a Foo->String
ok 37 - ... 0.5 is NOT a Foo->Undef
ok 38 - ... 0.5 is a Foo->Defined
ok 39 - ... 0.5 is NOT a Foo->Int
ok 40 - ... 0.5 is a Foo->Number
ok 41 - ... 0.5 is a Foo->Str
ok 42 - ... 0.5 is NOT a Foo->String
ok 43 - ... "Foo" is NOT a Foo->Undef
ok 44 - ... "Foo" is a Foo->Defined
ok 45 - ... "Foo" is NOT a Foo->Int
ok 46 - ... "Foo" is NOT a Foo->Number
ok 47 - ... "Foo" is a Foo->Str
ok 48 - ... "Foo" is a Foo->String
ok 49 - ... undef is a Foo->Undef
ok 50 - ... undef is NOT a Foo->Defined
ok 51 - ... undef is NOT a Foo->Int
ok 52 - ... undef is NOT a Foo->Number
ok 53 - ... undef is NOT a Foo->Str
ok 54 - ... undef is NOT a Foo->String
ok
t/040_type_constraints/024_role_type_constraint................
1..17
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - role_type keywork works with message
ok 3 - role attribute
ok 4 - subtype of gorch
ok 5 - subtype of bar
ok 6 - subtype of Object
ok 7 - subtype of Role
ok 8 - Foo passes Bar
ok 9 - Bar passes Bar
ok 10 - but Bar doesn't pass Gorch
ok 11 - Boop has a message
ok 12 - boop gives correct error message
ok 13 - equals self
ok 14 - equals anon constraint of same value
ok 15 - equals differently named constraint of same value
ok 16 - doesn't equal other anon constraint
ok 17 - subtype of other anon constraint
ok
t/040_type_constraints/025_type_coersion_on_lazy_attributes....
1..2
ok 1
ok 2
ok
t/040_type_constraints/026_normalize_type_name.................
1..37
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - detected correctly
ok 3 - Correctly parsed ArrayRef[Str]
ok 4 - detected correctly
ok 5 - Correctly parsed ArrayRef[Str ]
ok 6 - detected correctly
ok 7 - Correctly parsed ArrayRef[ Str]
ok 8 - detected correctly
ok 9 - Correctly parsed ArrayRef[ Str ]
ok 10 - detected correctly
ok 11 - Correctly parsed ArrayRef[ HashRef[Int] ]
ok 12 - detected correctly
ok 13 - Correctly parsed ArrayRef[ HashRef[Int ] ]
ok 14 - detected correctly
ok 15 - Correctly parsed ArrayRef[Int|Str]
ok 16 - detected correctly
ok 17 - Correctly parsed ArrayRef[ArrayRef[Int]|Str]
ok 18 - Got registry object
ok 19 - created subtype_a1
ok 20 - created subtype_a2
ok 21 - created subtype_a2
ok 22 - created subtype_a2
ok 23 - names match
ok 24 - names match
ok 25 - names match
ok 26 - created subtype_b1
ok 27 - created subtype_b2
ok 28 - created subtype_b3
ok 29 - names match
ok 30 - names match
ok 31 - names match
ok 32 - Created Union1
ok 33 - Created Union2
ok 34 - Created Union3
ok 35 - names match
ok 36 - names match
ok 37 - names match
ok
t/040_type_constraints/027_parameterize_from...................
1..12
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - Got expected type instance isa Moose::Meta::TypeConstraint::Parameterizable
ok 3 - Create Dummy object for testing
ok 4 - isa correct type isa Test::Moose::Meta::TypeConstraint::Parameterizable
ok 5 - No problem setting parameterizable
ok 6 - Got expected values
ok 7 - No problem setting parameterized
ok 8 - Got expected values
ok 9 - parameterized throws expected error
ok 10 - No problem setting from_parameterizable
ok 11 - Got expected values
ok 12 - from_parameterizable throws expected error
ok
t/050_metaclasses/001_custom_attr_meta_with_roles..............
1..3
ok 1 - The object isa My::Class
ok 2 - ... got the attribute
ok 3 - The object isa My::Custom::Meta::Attr
ok
t/050_metaclasses/002_custom_attr_meta_as_role.................
1..2
ok 1 - creating custom attribute "metarole" is okay
ok 2 - custom attribute metaclass extending role is okay
ok
t/050_metaclasses/003_moose_w_metaclass........................
1..4
ok 1 - use Moose;
ok 2 - The object isa Foo::Meta
ok 3 - ... could not load moose without correct metaclass
ok 4 - ... got the right error too
ok
t/050_metaclasses/004_moose_for_meta...........................
1..16
ok 1 - The object isa My::Meta::Class
ok 2 - The object isa Moose::Meta::Class
ok 3 - The object isa Class::MOP::Class
ok 4 - ... got the default superclasses
ok 5 - The object isa My::Meta::Attribute::DefaultReadOnly
ok 6 - The object isa Moose::Meta::Attribute
ok 7 - The object isa Class::MOP::Attribute
ok 8 - ... the attribute has a reader (as expected)
ok 9 - ... the attribute does not have a writer (as expected)
ok 10 - ... the attribute does not have an accessor (as expected)
ok 11 - The object isa My::Meta::Attribute::DefaultReadOnly
ok 12 - The object isa Moose::Meta::Attribute
ok 13 - The object isa Class::MOP::Attribute
ok 14 - ... the attribute does not have a reader (as expected)
ok 15 - ... the attribute does not have a writer (as expected)
ok 16 - ... the attribute does have an accessor (as expected)
ok
t/050_metaclasses/010_extending_and_embedding_back_compat......
1..7
ok 1 - MyClass->can('meta')
ok 2 - The object isa MyFramework::Meta::Base
ok 3 - The object isa Moose::Meta::Class
ok 4 - The object isa MyClass
ok 5 - The object isa MyFramework::Base
ok 6 - The object isa Moose::Object
ok 7 - ... got the right value
ok
t/050_metaclasses/011_init_meta................................
1..4
ok 1 - ... Foo isa Moose::Object
ok 2 - The object isa Moose::Meta::Class
ok 3 - The object isa Moose::Meta::Class
ok 4 - ... our metas are the same
ok
t/050_metaclasses/012_moose_exporter...........................
1..40
ok 1 - no warning when defining our own make_immutable sub
ok 2 - HasOwnImmutable->make_immutable does not get overwritten
ok 3 - WantsMoose->can('has')
ok 4 - WantsMoose->can('with')
ok 5 - WantsMoose->can('foo')
ok 6 - WantsMoose::has() has been cleaned
ok 7 - WantsMoose::with() has been cleaned
ok 8 - WantsMoose->can('foo')
ok 9 - The object isa Moose::Meta::Class
ok 10 - The object isa Moose::Object
ok 11 - WantsSugar->can('has')
ok 12 - WantsSugar->can('with')
ok 13 - WantsSugar->can('wrapped1')
ok 14 - WantsSugar->can('foo')
ok 15 - wrapped1 identifies the caller correctly
ok 16 - WantsSugar::has() has been cleaned
ok 17 - WantsSugar::with() has been cleaned
ok 18 - WantsSugar::wrapped1() has been cleaned
ok 19 - WantsSugar->can('foo')
ok 20 - WantsMoreSugar->can('has')
ok 21 - WantsMoreSugar->can('with')
ok 22 - WantsMoreSugar->can('wrapped1')
ok 23 - WantsMoreSugar->can('wrapped2')
ok 24 - WantsMoreSugar->can('as_is1')
ok 25 - WantsMoreSugar->can('foo')
ok 26 - wrapped1 identifies the caller correctly
ok 27 - wrapped2 identifies the caller correctly
ok 28 - as_is1 works as expected
ok 29 - WantsMoreSugar::has() has been cleaned
ok 30 - WantsMoreSugar::with() has been cleaned
ok 31 - WantsMoreSugar::wrapped1() has been cleaned
ok 32 - WantsMoreSugar::wrapped2() has been cleaned
ok 33 - WantsMoreSugar::as_is1() has been cleaned
ok 34 - WantsMoreSugar->can('foo')
ok 35 - The object isa My::Metaclass
ok 36 - The object isa My::Object
ok 37 - a circular reference in also dies with an error
ok 38 - got the expected error from circular reference in also
ok 39 - a package which does not use Moose::Exporter in also dies with an error
ok 40 - got the expected error from a reference in also to a package which does not use Moose::Exporter
ok
t/050_metaclasses/013_metaclass_traits.........................
1..28
ok 1 - Class::MOP::Class::__ANON__::SERIAL::2->can('simple')
ok 2 - Foo->meta()->simple() returns expected value
ok 3 - Class::MOP::Class::__ANON__::SERIAL::3->can('simple')
ok 4 - Foo->meta()->simple() returns expected value
ok 5 - Class::MOP::Class::__ANON__::SERIAL::3->can('simple')
ok 6 - Bar->meta()->simple() returns expected value
ok 7 - Class::MOP::Class::__ANON__::SERIAL::3->can('attr')
ok 8 - Bar->meta()->attr() returns expected value
ok 9 - Class::MOP::Class::__ANON__::SERIAL::4->can('simple')
ok 10 - Baz->meta()->simple() returns expected value
ok 11 - Class::MOP::Class::__ANON__::SERIAL::4->can('attr')
ok 12 - Baz->meta()->attr() returns expected value
ok 13 - Class::MOP::Class::__ANON__::SERIAL::4->can('simple2')
ok 14 - Baz->meta()->simple2() returns expected value
ok 15 - Class::MOP::Class::__ANON__::SERIAL::4->can('attr2')
ok 16 - Baz->meta()->attr2() returns expected value
ok 17 - Quux has size attribute
ok 18 - size attribute does not have a writer
ok 19 - RanOutOfNames->meta() has whatever method
ok 20 - Class::MOP::Class::__ANON__::SERIAL::7->can('simple')
ok 21 - Role::Foo->meta()->simple() returns expected value
ok 22 - cannot provide -traits to an exporting module that does not init_meta
ok 23 - ... and error provides a useful explanation
ok 24 - Class::MOP::Class::__ANON__::SERIAL::9->can('simple')
ok 25 - Foo::Subclass->meta()->simple() returns expected value
ok 26 - Foo::Subclass->meta()->simple2() returns expected value
ok 27 - Class::MOP::Class::__ANON__::SERIAL::9->can('attr2')
ok 28 - Foo::Subclass->meta()->attr2() returns expected value
ok
t/050_metaclasses/014_goto_moose_import........................
1..8
ok 1 - has was exported via MooseAlike1
ok 2 - No has sub in Foo after MooseAlike1 is unimported
ok 3 - Foo has a meta method
ok 4 - The object isa Moose::Meta::Class
ok 5 - has was exported via MooseAlike2
ok 6 - No has sub in Bar after MooseAlike2 is unimported
ok 7 - Bar has a meta method
ok 8 - The object isa Moose::Meta::Class
ok
t/050_metaclasses/015_metarole.................................
1..71
ok 1 - apply Role::Foo to My::Class->meta()
ok 2 - ... and call foo() on that meta object
ok 3 - apply Role::Foo to My::Class->meta()'s attribute metaclass
ok 4 - ... My::Class->meta() still does Role::Foo
ok 5 - ... call foo() on an attribute metaclass object
ok 6 - apply Role::Foo to My::Class->meta()'s method metaclass
ok 7 - ... My::Class->meta() still does Role::Foo
ok 8 - ... My::Class->meta()'s attribute metaclass still does Role::Foo
ok 9 - ... call foo() on a method metaclass object
ok 10 - apply Role::Foo to My::Class->meta()'s instance metaclass
ok 11 - ... My::Class->meta() still does Role::Foo
ok 12 - ... My::Class->meta()'s attribute metaclass still does Role::Foo
ok 13 - ... My::Class->meta()'s method metaclass still does Role::Foo
ok 14 - ... call foo() on an instance metaclass object
ok 15 - apply Role::Foo to My::Class->meta()'s constructor class
ok 16 - ... My::Class->meta() still does Role::Foo
ok 17 - ... My::Class->meta()'s attribute metaclass still does Role::Foo
ok 18 - ... My::Class->meta()'s method metaclass still does Role::Foo
ok 19 - ... My::Class->meta()'s instance metaclass still does Role::Foo
ok 20 - ... constructor class has a foo method
ok 21 - apply Role::Foo to My::Class->meta()'s destructor class
ok 22 - ... My::Class->meta() still does Role::Foo
ok 23 - ... My::Class->meta()'s attribute metaclass still does Role::Foo
ok 24 - ... My::Class->meta()'s method metaclass still does Role::Foo
ok 25 - ... My::Class->meta()'s instance metaclass still does Role::Foo
ok 26 - ... My::Class->meta()'s constructor class still does Role::Foo
ok 27 - ... destructor class has a foo method
ok 28 - apply Role::Foo to My::Class base class
ok 29 - ... call foo() on a My::Class object
ok 30 - apply Role::Foo to My::Class2->meta()
ok 31 - ... and call foo() on that meta object
ok 32 - apply Role::Foo to My::Class2->meta()'s attribute metaclass
ok 33 - ... call foo() on an attribute metaclass object
ok 34 - apply Role::Foo to My::Class2->meta()'s method metaclass
ok 35 - ... call foo() on a method metaclass object
ok 36 - apply Role::Foo to My::Class2->meta()'s instance metaclass
ok 37 - ... call foo() on an instance metaclass object
ok 38 - apply Role::Foo to My::Class2->meta()'s constructor class
ok 39 - ... constructor class has a foo method
ok 40 - apply Role::Foo to My::Class2->meta()'s destructor class
ok 41 - ... destructor class has a foo method
ok 42 - apply Role::Foo to My::Class3->meta()
ok 43 - ... and call foo() on that meta object
ok 44 - apply_metaclass_roles() does not interfere with metaclass set via Moose->init_meta()
ok 45 - apply Role::Foo to My::Class4->meta()
ok 46 - apply Role::Bar to My::Class4->meta()
ok 47 - ... and My::Class4->meta() still does Role::Foo
ok 48 - My::Class5->meta()'s does Role::Foo because it extends My::Class
ok 49 - My::Class5->meta()'s attribute metaclass also does Role::Foo
ok 50 - My::Class5->meta()'s method metaclass also does Role::Foo
ok 51 - My::Class5->meta()'s instance metaclass also does Role::Foo
ok 52 - My::Class5->meta()'s constructor class also does Role::Foo
ok 53 - My::Class5->meta()'s destructor class also does Role::Foo
ok 54 - apply Role::Bar My::Class5->meta()
ok 55 - ... and My::Class5->meta() still does Role::Foo
ok 56 - apply Role::Bar My::Class6->meta() before extends
ok 57 - ... and My::Class6->meta() does Role::Foo because My::Class6 extends My::Class
ok 58 - apply Role::Bar My::Class7->meta() before extends
ok 59 - ... and My::Class7->meta() does Role::Foo because My::Class7 extends My::Class
ok 60 - apply Role::Bar My::Class8->meta() before extends
ok 61 - ... and My::Class8->meta() does Role::Foo because My::Class8 extends My::Class
ok 62 - apply Role::Bar to My::Class8->meta()->attribute_metaclass before extends
ok 63 - ... and My::Class8->meta()->attribute_metaclass does Role::Foo because My::Class8 extends My::Class
ok 64 - ... and My::Class9->meta() does Role::Foo because My::Class9 extends My::Class
ok 65 - apply Role::Bar to My::Class9->meta()->attribute_metaclass before extends
ok 66 - ... and My::Class9->meta()->attribute_metaclass does Role::Foo because My::Class9 extends My::Class
ok 67 - My::Class10->meta()->meta() does Role::Foo
ok 68 - My::Class10->meta()->meta() does Role::Bar
ok 69 - ... and My::Class10->meta still isa(My::Meta::Class2)
ok 70 - My::Class11->meta()->meta() does Role::Foo
ok 71 - ... and explicitly set constructor_class value is unchanged)
ok
t/050_metaclasses/016_metarole_w_metaclass_pm..................
1..8
ok 1 - apply Role::Foo to My::Class->meta()
ok 2 - apply_metaclass_roles works with metaclass.pm
ok 3 - apply Role::Foo to My::Class2->meta()'s attribute metaclass
ok 4 - ... and this does not interfere with attribute metaclass set via metaclass.pm
ok 5 - apply Role::Foo to My::Class2->meta()'s method metaclass
ok 6 - ... and this does not interfere with method metaclass set via metaclass.pm
ok 7 - apply Role::Foo to My::Class2->meta()'s instance metaclass
ok 8 - ... and this does not interfere with instance metaclass set via metaclass.pm
ok
t/050_metaclasses/017_use_base_of_moose........................
1..4
ok 1 - correct metaclass name
ok 2 - constructor works
ok 3 - getter inherited properly
ok 4 - setter inherited properly
ok
t/050_metaclasses/018_throw_error..............................
1..24
ok 1 - got some error
ok 2 - error is a string
ok 3 - confess
ok 4 - got some error
ok 5 - error is a string
ok 6 - croak
ok 7 - got some error
ok 8 - The object isa Baz::Error
ok 9 - no line info, just a message
ok 10 - metaclass isa Moose::Meta::Class
ok 11 - metaclass value
ok 12 - attr isa Moose::Meta::Attribute
ok 13 - attr value
ok 14 - method isa Moose::Meta::Method
ok 15 - method value
ok 16 - line attr
ok 17 - file attr
ok 18 - captured args
ok 19 - last error preserved
ok 20 - error_class is included in metaclass compatibility checks
ok 21 - Foo::Sub's error_class still isa Moose::Error::Croak
ok 22 - error_class differs by role so incompat is handled
ok 23 - Foo::Sub::Sub's error_class does Role::Foo
ok 24 - Foo::Sub::Sub's error_class now subclasses Moose::Error::Croak
ok
t/060_compat/001_module_refresh_compat.........................
1..23
ok 1 - use Foo;
ok 2 - ... initialized the meta correctly
ok 3 - ... successfully refreshed Foo
ok 4 - use Bar;
ok 5 - ... initialized the meta correctly
ok 6 - ... successfully refreshed Bar
ok 7 - use MyMooseA;
ok 8 - ... initialized the meta correctly
ok 9 - ... successfully refreshed MyMooseA
ok 10 - use MyMooseB;
ok 11 - ... initialized the meta correctly
ok 12 - ... successfully refreshed MyMooseB
ok 13 - use MyMooseObject;
ok 14 - ... initialized the meta correctly
ok 15 - ... successfully refreshed MyMooseObject
ok 16 - use TestBaz;
ok 17 - ... initialized the meta correctly
ok 18 - ... it has the foo attribute as well
ok 19 - ... TestBaz is not a Foo
ok 20 - ... successfully refreshed TestBaz.pm
ok 21 - ... initialized the meta correctly
ok 22 - ... it has the foo attribute as well
ok 23 - ... TestBaz is a Foo
ok
t/060_compat/002_moose_respects_base...........................
1..6
ok 1 - The object isa Bar
ok 2 - The object isa Foo
ok 3 - ... Bar is not Moose::Object subclass
ok 4 - The object isa Baz
ok 5 - The object isa Foo
ok 6 - The object isa Moose::Object
ok
t/060_compat/003_foreign_inheritence...........................
1..6
ok 1 - The object isa Foo::Moose
ok 2 - The object isa Elk
ok 3 - ... got the right value from the Elk method
ok 4 - ... got the right value from the Foo::Moose method
ok 5 - Immutability on Moose class extending Class::MOP class ok
ok 6 - Can subclass the same non-Moose class twice with different metaclasses
ok
t/100_bugs/001_subtype_quote_bug...............................
1..1
ok 1 - use Moose;
ok
t/100_bugs/002_subtype_conflict_bug............................
1..2
ok 1 - use MyMooseA;
ok 2 - use MyMooseB;
ok
t/100_bugs/003_Moose_Object_error..............................
1..1
ok 1 - use MyMooseObject;
ok
t/100_bugs/004_subclass_use_base_bug...........................
1..2
ok 1 - The object isa Bar
ok 2 - The object isa Foo
ok
t/100_bugs/005_inline_reader_bug...............................
1..1
ok 1 - ... this didnt die
ok
t/100_bugs/006_handles_foreign_class_bug.......................
1..15
ok 1 - ... can create the attribute with delegations
ok 2 - ... created the object ok
ok 3 - The object isa Bar
ok 4 - ... got the right delgated value
ok 5 - ... can create the attribute with delegations
ok 6 - no warnings
ok 7 - ... created the object ok
ok 8 - The object isa Baz
ok 9 - ... got the right delgated value
ok 10 - ... can create the attribute with delegations
not ok 11 - one warning # TODO warning not yet implemented
# Failed (TODO) test 'one warning'
# at t/100_bugs/006_handles_foreign_class_bug.t line 97.
# got: '0'
# expected: '1'
not ok 12 - warned # TODO warning not yet implemented
# Failed (TODO) test 'warned'
# at t/100_bugs/006_handles_foreign_class_bug.t line 98.
# undef
# doesn't match '(?i-xsm:not delegating.*new)'
ok 13 - ... created the object ok
ok 14 - The object isa Blart
ok 15 - ... got the right delgated value
ok
t/100_bugs/007_reader_precedence_bug...........................
1..3
ok 1 - reader => "get_foo" has correct presedence
ok 2 - Foo->can('get_foo')
ok 3 - Reader works as expected
ok
t/100_bugs/008_new_w_undef.....................................
1..1
ok 1 - ... passing in undef just gets ignored
ok
t/100_bugs/009_augment_recursion_bug...........................
1..3
ok 1 - The object isa Baz
ok 2 - The object isa Foo
ok 3 - ... got the right value for 1 augmented subclass calling non-augmented subclass
ok
t/100_bugs/010_immutable_n_default_x2..........................
1..2
ok 1 - foo default was only called once during constructor
ok 2 - bar default was only called once when lazy attribute is accessed
ok
t/100_bugs/011_DEMOLISH_eats_exceptions........................
1..144
ok 1 - ... Baz plain
ok 2 - ... the object is undef
ok 3 - ... Baz empty
ok 4 - ... the object is undef
ok 5 - ... Baz undef
ok 6 - ... the object is undef
ok 7 - ... Baz undef param
ok 8 - ... the object is undef
ok 9 - ... Baz root path forbidden
ok 10 - ... the object is undef
ok 11 - ... Baz non existing path
ok 12 - ... the object is undef
ok 13 - ... Baz no error
ok 14 - The object isa Baz
ok 15 - The object isa Moose::Object
ok 16 - ... Baz got the right value
ok 17 - ... Qee plain
ok 18 - ... the object is undef
ok 19 - ... Qee empty
ok 20 - ... the object is undef
ok 21 - ... Qee undef
ok 22 - ... the object is undef
ok 23 - ... Qee undef param
ok 24 - ... the object is undef
ok 25 - ... Qee root path forbidden
ok 26 - ... the object is undef
ok 27 - ... Qee non existing path
ok 28 - ... the object is undef
ok 29 - ... Qee no error
ok 30 - The object isa Qee
ok 31 - The object isa Moose::Object
ok 32 - ... Qee got the right value
ok 33 - ... Foo plain
ok 34 - ... the object is undef
ok 35 - ... Foo empty
ok 36 - ... the object is undef
ok 37 - ... Foo undef
ok 38 - ... the object is undef
ok 39 - ... Foo undef param
ok 40 - ... the object is undef
ok 41 - ... Foo root path forbidden
ok 42 - ... the object is undef
ok 43 - ... Foo non existing path
ok 44 - ... the object is undef
ok 45 - ... Foo no error
ok 46 - The object isa Foo
ok 47 - The object isa Moose::Object
ok 48 - ... Foo got the right value
ok 49 - ... Qee plain
ok 50 - ... the object is undef
ok 51 - ... Qee empty
ok 52 - ... the object is undef
ok 53 - ... Qee undef
ok 54 - ... the object is undef
ok 55 - ... Qee undef param
ok 56 - ... the object is undef
ok 57 - ... Qee root path forbidden
ok 58 - ... the object is undef
ok 59 - ... Qee non existing path
ok 60 - ... the object is undef
ok 61 - ... Qee no error
ok 62 - The object isa Qee
ok 63 - The object isa Moose::Object
ok 64 - ... Qee got the right value
ok 65 - ... Baz plain
ok 66 - ... the object is undef
ok 67 - ... Baz empty
ok 68 - ... the object is undef
ok 69 - ... Baz undef
ok 70 - ... the object is undef
ok 71 - ... Baz undef param
ok 72 - ... the object is undef
ok 73 - ... Baz root path forbidden
ok 74 - ... the object is undef
ok 75 - ... Baz non existing path
ok 76 - ... the object is undef
ok 77 - ... Baz no error
ok 78 - The object isa Baz
ok 79 - The object isa Moose::Object
ok 80 - ... Baz got the right value
ok 81 - ... Foo plain
ok 82 - ... the object is undef
ok 83 - ... Foo empty
ok 84 - ... the object is undef
ok 85 - ... Foo undef
ok 86 - ... the object is undef
ok 87 - ... Foo undef param
ok 88 - ... the object is undef
ok 89 - ... Foo root path forbidden
ok 90 - ... the object is undef
ok 91 - ... Foo non existing path
ok 92 - ... the object is undef
ok 93 - ... Foo no error
ok 94 - The object isa Foo
ok 95 - The object isa Moose::Object
ok 96 - ... Foo got the right value
ok 97 - ... Foo plain
ok 98 - ... the object is undef
ok 99 - ... Foo empty
ok 100 - ... the object is undef
ok 101 - ... Foo undef
ok 102 - ... the object is undef
ok 103 - ... Foo undef param
ok 104 - ... the object is undef
ok 105 - ... Foo root path forbidden
ok 106 - ... the object is undef
ok 107 - ... Foo non existing path
ok 108 - ... the object is undef
ok 109 - ... Foo no error
ok 110 - The object isa Foo
ok 111 - The object isa Moose::Object
ok 112 - ... Foo got the right value
ok 113 - ... Baz plain
ok 114 - ... the object is undef
ok 115 - ... Baz empty
ok 116 - ... the object is undef
ok 117 - ... Baz undef
ok 118 - ... the object is undef
ok 119 - ... Baz undef param
ok 120 - ... the object is undef
ok 121 - ... Baz root path forbidden
ok 122 - ... the object is undef
ok 123 - ... Baz non existing path
ok 124 - ... the object is undef
ok 125 - ... Baz no error
ok 126 - The object isa Baz
ok 127 - The object isa Moose::Object
ok 128 - ... Baz got the right value
ok 129 - ... Qee plain
ok 130 - ... the object is undef
ok 131 - ... Qee empty
ok 132 - ... the object is undef
ok 133 - ... Qee undef
ok 134 - ... the object is undef
ok 135 - ... Qee undef param
ok 136 - ... the object is undef
ok 137 - ... Qee root path forbidden
ok 138 - ... the object is undef
ok 139 - ... Qee non existing path
ok 140 - ... the object is undef
ok 141 - ... Qee no error
ok 142 - The object isa Qee
ok 143 - The object isa Moose::Object
ok 144 - ... Qee got the right value
ok
t/100_bugs/012_DEMOLISH_eats_mini..............................
1..4
ok 1 - ... Foo plain
ok 2 - ... the object is undef
ok 3 - ... Bar plain
ok 4 - ... the object is undef
ok
t/100_bugs/013_lazybuild_required_undef........................
1..4
ok 1 - NonLazyBuild: Undef default
ok 2 - NonLazyBuild: Undef explicit
ok 3 - LazyBuild: Undef default/lazy_build
ok 4 - LazyBuild: Undef explicit
ok
t/100_bugs/014_DEMOLISHALL.....................................
1..5
ok 1 - no DEMOLISH calls yet
ok 2 - no DEMOLISH calls yet
ok 3
ok 4 - no DEMOLISH calls yet
ok 5
ok
t/100_bugs/016_inheriting_from_roles...........................
1..1
ok 1 - ... this croaks correctly
ok
t/100_bugs/017_type_constraint_messages........................
1..3
ok 1 - ... got the right error message
ok 2 - ... got the right error message
ok 3 - ... got the right error message
ok
t/100_bugs/018_immutable_metaclass_does_role...................
1..36
ok 1 - The object isa MyMetaclass
ok 2 - ... the metaclass does the role
ok 3 - ... these metas are the same thing
ok 4 - ... these meta-metas are the same thing
ok 5 - metaclass does MyRole
ok 6 - ... foo method returns expected value
ok 7 - metaclass does MyRole
ok 8 - ... foo method returns expected value
ok 9 - ... make MyClass immutable okay
ok 10 - ... these metas are still the same thing
ok 11 - ... these meta-metas are the same thing
ok 12 - metaclass does MyRole
ok 13 - ... foo method returns expected value
ok 14 - metaclass does MyRole
ok 15 - ... foo method returns expected value
ok 16 - ... make MyClass mutable okay
ok 17 - ... these metas are still the same thing
ok 18 - ... these meta-metas are the same thing
ok 19 - metaclass does MyRole
ok 20 - ... foo method returns expected value
ok 21 - metaclass does MyRole
ok 22 - ... foo method returns expected value
ok 23 - ... make MyClass immutable okay
ok 24 - ... these metas are still the same thing
ok 25 - ... these meta-metas are the same thing
ok 26 - metaclass does MyRole
ok 27 - ... foo method returns expected value
ok 28 - metaclass does MyRole
ok 29 - ... foo method returns expected value
ok 30 - ... make MyClass immutable okay
ok 31 - ... these metas are still the same thing
ok 32 - ... these meta-metas are the same thing
ok 33 - metaclass does MyRole
ok 34 - ... foo method returns expected value
ok 35 - metaclass does MyRole
ok 36 - ... foo method returns expected value
ok
t/200_examples/001_example.....................................
1..20
ok 1 - The object isa Constraint::NoMoreThan
ok 2 - ... Constraint::NoMoreThan does Constraint
ok 3 - ... validated correctly
ok 4 - ... validation failed correctly
ok 5 - The object isa Constraint::AtLeast
ok 6 - ... Constraint::AtLeast does Constraint
ok 7 - ... validated correctly
ok 8 - ... validation failed correctly
ok 9 - The object isa Constraint::LengthNoMoreThan
ok 10 - The object isa Constraint::NoMoreThan
ok 11 - ... Constraint::LengthNoMoreThan does Constraint
ok 12 - ... Constraint::LengthNoMoreThan does Constraint::OnLength
ok 13 - ... validated correctly
ok 14 - ... validation failed correctly
ok 15 - The object isa Constraint::LengthAtLeast
ok 16 - The object isa Constraint::AtLeast
ok 17 - ... Constraint::LengthAtLeast does Constraint
ok 18 - ... Constraint::LengthAtLeast does Constraint::OnLength
ok 19 - ... validated correctly
ok 20 - ... validation failed correctly
ok
t/200_examples/002_example_Moose_POOP..........................
1..88
ok 1 - The object isa Moose::POOP::Meta::Class
ok 2 - The object isa Moose::Meta::Class
ok 3 - The object isa Class::MOP::Class
ok 4 - ... got the right instance metaclass name
ok 5 - The object isa Moose::POOP::Meta::Instance
ok 6 - The object isa Moose::POOP::Object
ok 7 - The object isa Moose::Object
ok 8 - The object isa Moose::POOP::Meta::Class
ok 9 - The object isa Moose::Meta::Class
ok 10 - The object isa Class::MOP::Class
ok 11 - ... got the right instance metaclass name
ok 12 - The object isa Moose::POOP::Meta::Instance
ok 13 - ... created my article successfully
ok 14 - The object isa Newswriter::Article
ok 15 - The object isa Moose::POOP::Object
ok 16 - ... add the article date-time stuff
ok 17 - The object isa Moose::POOP::Meta::Class
ok 18 - The object isa Moose::Meta::Class
ok 19 - The object isa Class::MOP::Class
ok 20 - ... got the right instance metaclass name
ok 21 - The object isa Moose::POOP::Meta::Instance
ok 22 - ... got a oid for the article
ok 23 - ... got the right headline
ok 24 - ... got the right summary
ok 25 - ... got the right article
ok 26 - The object isa DateTime
ok 27 - The object isa DateTime
ok 28 - The object isa Newswriter::Author
ok 29 - ... got the right author first name
ok 30 - ... got the right author last name
ok 31 - ... got the right status
ok 32 - ... created my article successfully
ok 33 - The object isa Newswriter::Article
ok 34 - The object isa Moose::POOP::Object
ok 35 - ... got the right headline
ok 36 - ... got the right summary
ok 37 - ... got the right article
ok 38 - ... these two dates are unassigned
ok 39 - ... these two dates are unassigned
ok 40 - The object isa Newswriter::Author
ok 41 - ... got the right author first name
ok 42 - ... got the right author last name
ok 43 - ... got the right status
ok 44 - ... (re)-created my article successfully
ok 45 - The object isa Newswriter::Article
ok 46 - The object isa Moose::POOP::Object
ok 47 - ... got a oid for the article
ok 48 - ... got a new article instance
ok 49 - ... got the right headline
ok 50 - ... got the right summary
ok 51 - ... got the right article
ok 52 - The object isa DateTime
ok 53 - The object isa DateTime
ok 54 - The object isa Newswriter::Author
ok 55 - ... got the right author first name
ok 56 - ... got the right author last name
ok 57 - ... changed the value ok
ok 58 - ... got the changed author first name
ok 59 - ... got the changed author last name
ok 60 - ... got the right status
ok 61 - ... (re)-created my article successfully
ok 62 - The object isa Newswriter::Article
ok 63 - The object isa Moose::POOP::Object
ok 64 - ... got a oid for the article
ok 65 - ... got a new article instance
ok 66 - ... got the right headline
ok 67 - ... got the right summary
ok 68 - ... got the right article
ok 69 - The object isa DateTime
ok 70 - The object isa DateTime
ok 71 - The object isa Newswriter::Author
ok 72 - ... got the changed author first name
ok 73 - ... got the changed author last name
ok 74 - ... got the right status
ok 75 - ... (re)-created my article successfully
ok 76 - The object isa Newswriter::Article
ok 77 - The object isa Moose::POOP::Object
ok 78 - ... got a oid for the article
ok 79 - ... got a new article instance
ok 80 - ... got the right headline
ok 81 - ... got the right summary
ok 82 - ... got the right article
ok 83 - ... these two dates are unassigned
ok 84 - ... these two dates are unassigned
ok 85 - The object isa Newswriter::Author
ok 86 - ... got the right author first name
ok 87 - ... got the right author last name
ok 88 - ... got the right status
ok
t/200_examples/003_example.....................................
1..30
ok 1 - ... successfully composed roles together
ok 2 - ... successfully composed roles together
ok 3 - The object isa My::List1
ok 4 - ... $coll does List
ok 5 - ... $coll does List::Immutable
ok 6 - ... we have an empty collection
ok 7 - ... we have a length of 1 for the collection
ok 8 - The object isa My::List2
ok 9 - ... $coll does List
ok 10 - ... $coll does List::Immutable
ok 11 - ... we have an empty collection
ok 12 - ... we have a length of 1 for the collection
ok 13 - The object isa My::List1
ok 14 - ... $coll does List
ok 15 - ... $coll does List::Immutable
ok 16 - ... we do not have an empty collection
ok 17 - ... we have a length of 10 for the collection
ok 18 - ... got the right printed value
ok 19 - The object isa My::List1
ok 20 - ... original is still the same
ok 21 - ... new collection is changed
ok 22 - The object isa My::List2
ok 23 - ... $coll does List
ok 24 - ... $coll does List::Immutable
ok 25 - ... we do not have an empty collection
ok 26 - ... we have a length of 10 for the collection
ok 27 - ... got the right printed value
ok 28 - The object isa My::List2
ok 29 - ... original is still the same
ok 30 - ... new collection is changed
ok
t/200_examples/004_example_w_DCS...............................
1..9
ok 1 - ... construction succeeded
ok 2 - The object isa Foo
ok 3 - ... got our value correctly
ok 4 - ... got our value correctly
ok 5 - ... validation failed correctly
ok 6 - ... validation failed correctly
ok 7 - ... validation failed correctly
ok 8 - ... validation failed correctly
ok 9 - ... validation failed correctly
ok
t/200_examples/005_example_w_TestDeep..........................
1..5
ok 1 - ... construction succeeded
ok 2 - The object isa Foo
ok 3 - ... got our value correctly
ok 4 - ... validation failed correctly
ok 5 - ... validation failed correctly
ok
t/200_examples/006_example_Protomoose..........................
1..28
ok 1 - ... got the right metaclass for ProtoMoose::Object -> isa ProtoMoose::Meta::Class
ok 2 - ... got the right instance meta for ProtoMoose::Object
ok 3 - ... got the right attribute meta for ProtoMoose::Object
ok 4 - ... got the right metaclass for Foo -> isa ProtoMoose::Meta::Class
ok 5 - ... got the right instance meta for Foo
ok 6 - ... got the right attribute meta for Foo
ok 7 - ... got the right metaclass for Bar -> isa ProtoMoose::Meta::Class
ok 8 - ... got the right instance meta for Bar
ok 9 - ... got the right attribute meta for Bar
ok 10 - The object isa Foo
ok 11 - ... got the value stored in the prototype
ok 12 - ... got the value stored in the prototype (through the Foo class)
ok 13 - The object isa Foo
ok 14 - ... got a new instance of Foo
ok 15 - ... got the value stored in the instance (inherited from the prototype)
ok 16 - ... got the value stored in the instance (overwriting the one inherited from the prototype)
ok 17 - ... got the value stored in the prototype
ok 18 - ... got the value stored in the prototype (through the Foo class)
ok 19 - ... got the value stored in the Foo prototype (through the Bar class)
ok 20 - ... got the value stored in the prototype (through the Bar class)
ok 21 - The object isa Bar
ok 22 - The object isa Foo
ok 23 - ... got the value stored in the instance (inherited from the Foo prototype)
ok 24 - ... got the value stored in the instance (inherited from the Bar prototype)
ok 25 - ... got the value stored in the instance (overriding the one inherited from the Foo prototype)
ok 26 - ... still got the original value stored in the instance (inherited from the prototype)
ok 27 - ... still got the original value stored in the prototype (through the Foo class)
ok 28 - ... still got the original value stored in the prototype (through the Bar class)
ok
t/200_examples/007_Child_Parent_attr_inherit...................
1..23
ok 1 - The object isa Parent
ok 2 - ... the parent has the last name we expected
ok 3 - ... parent and child have the same last name (Smith)
ok 4 - ... parent and child have the same last name (Smith)
ok 5 - ... parent and child have the same last name (Smith)
ok 6 - ... parent and child have the same last name (Smith)
ok 7 - ... the parent has the new last name
ok 8 - ... parent and child have the same last name (Jones)
ok 9 - ... parent and child have the same last name (Jones)
ok 10 - ... parent and child have the same last name (Jones)
ok 11 - ... parent and child have the same last name (Jones)
ok 12 - The object isa Parent
ok 13 - ... parent and child have the same last name (Jones)
ok 14 - ... parent and child have the same last name (Jones)
ok 15 - ... parent and child have the same last name (Jones)
ok 16 - ... the orphan child does not have the same last name anymore (Brown)
ok 17 - ... parent2 and orphan child have the same last name (Brown)
ok 18 - ... the parent has the new last name (again)
ok 19 - ... parent and child have the same last name (Miller)
ok 20 - ... parent and child have the same last name (Miller)
ok 21 - ... parent and child have the same last name (Miller)
ok 22 - ... the orphan child is not affected by changes in the parent anymore
ok 23 - ... parent2 and orphan child have the same last name (Brown)
ok
t/200_examples/008_record_set_iterator.........................
1..8
ok 1 - The object isa RecordSet
ok 2 - The object isa RecordSetIterator
ok 3 - ... got the right first name
ok 4 - ... got the right last name
ok 5 - ... got the right first name
ok 6 - ... got the right last name
ok 7 - ... got the right first name
ok 8 - ... got the right last name
ok
t/300_immutable/001_immutable_moose............................
1..15
ok 1 - lazy_build works
ok 2 - correct value for 'foos' before inlining constructor
ok 3 - correct value for 'bars' before inlining constructor
ok 4 - correct value for 'bazes' before inlining constructor
ok 5 - Foo is imutable
ok 6 - ->identifier on metaclass lives
ok 7 - Add Role is locked
ok 8 - Inlined constructor works with lazy_build
ok 9 - correct value for 'foos' after inlining constructor
ok 10 - correct value for 'bars' after inlining constructor
ok 11 - correct value for 'bazes' after inlining constructor
ok 12 - Foo is mutable
ok 13 - Add Role is unlocked
ok 14 - Immutable meta with single BUILD
ok 15 - Immutable meta with multiple BUILDs
ok
t/300_immutable/002_apply_roles_to_immutable...................
1..4
ok 1 - The object isa Foo
ok 2 - ... got the right value
ok 3 - ... successfully applied the role to immutable instance
ok 4 - ... got the right value
ok
t/300_immutable/003_immutable_meta_class.......................
1..1
ok 1 - ... can make a meta class immutable
ok
t/300_immutable/004_inlined_constructors_n_types...............
1..10
ok 1 - Type coersion works as expected on default (mutable)
ok 2 - Type coersion works as expected on builder (mutable)
ok 3 - ... this passes the constuctor correctly (mutable)
ok 4 - ... the constructor doesn't care about 'zot' (mutable)
ok 5 - ... this fails the constuctor correctly (mutable)
ok 6 - Type coersion works as expected on default (immutable)
ok 7 - Type coersion works as expected on builder (immutable)
ok 8 - ... this passes the constuctor correctly (immutable)
ok 9 - ... the constructor doesn't care about 'zot' (immutable)
ok 10 - ... this fails the constuctor correctly (immutable)
ok
t/300_immutable/005_multiple_demolish_inline...................
1..2
ok 1 - Bar->new()
ok 2 - Bar->meta->make_immutable
ok
t/300_immutable/006_immutable_nonmoose_subclass................
1..8
ok 1 - got a Grandparent object out of Grandparent->new
ok 2 - got a Parent object out of Parent->new
ok 3 - got a Child object out of Child->new
ok 4 - Child responds to grandparent
ok 5 - Child responds to parent
ok 6 - Child responds to child
ok 7 - didnt create a value, cause immutable overode the constructor
ok 8 - didnt create a value, cause immutable overode the constructor
ok
t/300_immutable/007_immutable_trigger_from_constructor.........
1..3
ok 1 - trigger from immutable constructor
ok 2 - trigger from immutable constructor
ok 3 - ... no triggers called
ok
t/300_immutable/008_immutable_constructor_error................
1..2
ok 1 - Non-ref provided to immutable constructor gives useful error message
ok 2 - Scalar ref provided to immutable constructor gives useful error message
ok
t/300_immutable/009_buildargs..................................
1..14
ok 1 - no args
ok 2 - normal args
ok 3 - single arg
ok 4 - ... got the right bar
ok 5 - ... got the right bar
ok 6 - ... got the right bar
ok 7 - ... got the right bar
ok 8 - no args
ok 9 - normal args
ok 10 - single arg
ok 11 - ... got the right bar
ok 12 - ... got the right bar
ok 13 - ... got the right bar
ok 14 - ... got the right bar
ok
t/400_moose_util/001_moose_util................................
1..1
ok 1 - use Moose::Util;
ok
t/400_moose_util/002_moose_util_does_role......................
1..8
ok 1 - use Moose::Util;
ok 2 - ... Bar does Foo
ok 3 - ... Baz doesnt do Foo
ok 4 - ... $bar does Foo
ok 5 - ... $baz doesnt do Foo
ok 6 - ... undef doesnt do Foo
ok 7 - ... 1 doesnt do Foo
ok 8 - ... Quux doesnt do Foo (does not die tho)
ok
t/400_moose_util/003_moose_util_search_class_by_role...........
1..5
ok 1 - use Moose::Util;
ok 2 - ... not found role returns undef
ok 3 - ... class itself returned if it does role
ok 4 - ... nearest class doing role returned
ok 5 - ... nearest class being direct class returned
ok
t/500_test_moose/001_test_moose................................
1..1
ok 1 - use Test::Moose;
ok
t/500_test_moose/002_test_moose_does_ok........................
1..2
ok 1 - use Test::Moose;
ok 2 - does_ok
ok
t/500_test_moose/003_test_moose_has_attribute_ok...............
1..2
ok 1 - use Test::Moose;
ok 2 - has_attribute_ok
ok
t/500_test_moose/004_test_moose_meta_ok........................
1..2
ok 1 - use Test::Moose;
ok 2 - meta_ok
ok
t/600_todo_tests/001_exception_reflects_failed_constraint......
1..4
ok 1 - use Moose::Util::TypeConstraints;
ok 2 - specified parent type constraint
ok 3 - specified child type constraint
not ok 4 - exception references failing parent constraint # TODO Not yet supported
# Failed (TODO) test 'exception references failing parent constraint'
# at t/600_todo_tests/001_exception_reflects_failed_constraint.t line 31.
ok
t/600_todo_tests/002_various_role_shit.........................
ok 1
not ok 2 # TODO accessors don't satisfy role requires
# Failed (TODO) test at t/600_todo_tests/002_various_role_shit.t line 87.
# died: 'Dancer' requires the method 'twist' to be implemented by 'Dancer::Something', the method is only an attribute accessor at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Meta/Role/Application.pm line 59
# Moose::Meta::Role::Application::apply() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Meta/Role/Application/ToClass.pm line 17
# Moose::Meta::Role::Application::ToClass::apply() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Meta/Role.pm line 447
# Moose::Meta::Role::apply() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Util.pm line 93
# Moose::Util::apply_all_roles() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose.pm line 70
# Moose::with() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Exporter.pm line 192
# Moose::with() called at t/600_todo_tests/002_various_role_shit.t line 87
# Test::Exception::lives_ok() called at t/600_todo_tests/002_various_role_shit.t line 87
not ok 3 # TODO attribute accessor in role doesn't satisfy role requires
# Failed (TODO) test at t/600_todo_tests/002_various_role_shit.t line 97.
# died: 'Dancer::Robot' requires the method 'twist' to be implemented by 'Dancer::80s' at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Meta/Role/Application.pm line 59
# Moose::Meta::Role::Application::apply() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Meta/Role/Application/ToClass.pm line 17
# Moose::Meta::Role::Application::ToClass::apply() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Meta/Role.pm line 447
# Moose::Meta::Role::apply() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Util.pm line 93
# Moose::Util::apply_all_roles() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose.pm line 70
# Moose::with() called at C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv\blib\lib/Moose/Exporter.pm line 192
# Moose::with() called at t/600_todo_tests/002_various_role_shit.t line 97
# Test::Exception::lives_ok() called at t/600_todo_tests/002_various_role_shit.t line 97
not ok 4 # TODO attrs and methods from a role should clash
# Failed (TODO) test at t/600_todo_tests/002_various_role_shit.t line 140.
not ok 5 - attr did not zap overriding method # TODO attributes from role overwrite class methods
# Failed (TODO) test 'attr did not zap overriding method'
# at t/600_todo_tests/002_various_role_shit.t line 149.
# got: undef
# expected: '42'
not ok 6 - attr did not zap overriding method # TODO attributes from role overwrite class methods
# Failed (TODO) test 'attr did not zap overriding method'
# at t/600_todo_tests/002_various_role_shit.t line 150.
# got: undef
# expected: '33'
ok 7 - method did not zap overriding method
ok 8 - Quxx->can('dandy')
ok 9 - Quxx->can('attr')
ok 10 - Quxx->can('gorch_method')
ok 11 - Quxx does Gorch
ok 12 - Foo->can('gorch_method')
not ok 13 - Foo->can('attr') # TODO accessor methods from a role are omitted in handles role
# Failed (TODO) test 'Foo->can('attr')'
# at t/600_todo_tests/002_various_role_shit.t line 167.
# Foo->can('attr') failed
not ok 14 - Foo does Gorch # TODO handles role doesn't add the role to the ->does of the delegate's parent class
# Failed (TODO) test 'Foo does Gorch'
# at t/600_todo_tests/002_various_role_shit.t line 172.
ok 15 - Dancer::Ballerina->can('pirouette')
ok 16 - Dancer::Ballerina->can('twist')
ok 17 - Foo->can('twist')
ok 18 - can't pirouette, not part of the iface
not ok 19 # TODO handles role doesn't add the role to the ->does of the delegate's parent class
# Failed (TODO) test at t/600_todo_tests/002_various_role_shit.t line 185.
ok 20 - The object isa Moose::Meta::Role
ok 21 - has attribute 'attr'
not ok 22 - The object isa Moose::Meta::Attribute # TODO role attribute isn't a meta attribute yet
# Failed (TODO) test 'The object isa Moose::Meta::Attribute'
# at t/600_todo_tests/002_various_role_shit.t line 199.
# The object isn't a 'Moose::Meta::Attribute' it's a 'HASH'
ok 23 - Gorch has or requires method gorch_method
ok 24 - has_method gorch_method
ok 25 - requires gorch method
ok 26 - The object isa Moose::Meta::Method
not ok 27 - Gorch has or requires method dandy # TODO method modifier doesn't yet create a method requirement or meta object
# Failed (TODO) test 'Gorch has or requires method dandy'
# at t/600_todo_tests/002_various_role_shit.t line 209.
not ok 28 - requires the dandy method for the modifier # TODO method modifier doesn't yet create a method requirement or meta object
# Failed (TODO) test 'requires the dandy method for the modifier'
# at t/600_todo_tests/002_various_role_shit.t line 213.
not ok 29 - Gorch has or requires method attr # TODO attribute related methods are not yet known by the role
# Failed (TODO) test 'Gorch has or requires method attr'
# at t/600_todo_tests/002_various_role_shit.t line 219.
not ok 30 - has_method attr # TODO attribute related methods are not yet known by the role
# Failed (TODO) test 'has_method attr'
# at t/600_todo_tests/002_various_role_shit.t line 220.
not ok 31 - The object isa Moose::Meta::Method # TODO attribute related methods are not yet known by the role
# Failed (TODO) test 'The object isa Moose::Meta::Method'
# at t/600_todo_tests/002_various_role_shit.t line 221.
# The object isn't defined
not ok 32 - The object isa Moose::Meta::Method::Accessor # TODO attribute related methods are not yet known by the role
# Failed (TODO) test 'The object isa Moose::Meta::Method::Accessor'
# at t/600_todo_tests/002_various_role_shit.t line 222.
# The object isn't defined
ok 33 - The object isa Moose::Meta::Role
ok 34 - has attr 'twist'
not ok 35 - The object isa Moose::Meta::Attribute # TODO role attribute isn't a meta attribute yet
# Failed (TODO) test 'The object isa Moose::Meta::Attribute'
# at t/600_todo_tests/002_various_role_shit.t line 233.
# The object isn't a 'Moose::Meta::Attribute' it's a 'HASH'
ok 36 - Dancer::Robot has or requires method twist
not ok 37 - has twist method # TODO attribute related methods are not yet known by the role
# Failed (TODO) test 'has twist method'
# at t/600_todo_tests/002_various_role_shit.t line 240.
not ok 38 - The object isa Moose::Meta::Method # TODO attribute related methods are not yet known by the role
# Failed (TODO) test 'The object isa Moose::Meta::Method'
# at t/600_todo_tests/002_various_role_shit.t line 241.
# The object isn't defined
not ok 39 - The object isa Moose::Meta::Method::Accessor # TODO attribute related methods are not yet known by the role
# Failed (TODO) test 'The object isa Moose::Meta::Method::Accessor'
# at t/600_todo_tests/002_various_role_shit.t line 242.
# The object isn't defined
1..39
ok
t/600_todo_tests/003_immutable_n_around........................
ok 1 - base class (mutable)
ok 2 - around new called on Bar->new (mutable)
ok 3 - around new called on Gorch->new (mutable)
ok 4 - around new called Zoink->new (mutable)
ok 5 - base class (immutable)
ok 6 - around new called on Bar->new (mutable)
ok 7 - around new called on Gorch->new (mutable)
ok 8 - around new called Zoink->new (mutable)
ok 9 - base class (immutable)
ok 10 - around new called on Bar->new (immutable)
ok 11 - around new called on Gorch->new (mutable)
ok 12 - around new called Zoink->new (mutable)
ok 13 - base class (immutable)
ok 14 - around new called on Bar->new (immutable)
not ok 15 - around new called on Gorch->new (immutable) # TODO these tests fail once Gorch is immutable
# Failed (TODO) test 'around new called on Gorch->new (immutable)'
# at t/600_todo_tests/003_immutable_n_around.t line 46.
# got: undef
# expected: '42'
not ok 16 - around new called Zoink->new (mutable) # TODO these tests fail once Gorch is immutable
# Failed (TODO) test 'around new called Zoink->new (mutable)'
# at t/600_todo_tests/003_immutable_n_around.t line 47.
# got: undef
# expected: '42'
ok 17 - base class (immutable)
ok 18 - around new called on Bar->new (immutable)
not ok 19 - around new called on Gorch->new (immutable) # TODO these tests fail once Gorch is immutable
# Failed (TODO) test 'around new called on Gorch->new (immutable)'
# at t/600_todo_tests/003_immutable_n_around.t line 46.
# got: undef
# expected: '42'
not ok 20 - around new called Zoink->new (immutable) # TODO these tests fail once Gorch is immutable
# Failed (TODO) test 'around new called Zoink->new (immutable)'
# at t/600_todo_tests/003_immutable_n_around.t line 47.
# got: undef
# expected: '42'
1..20
ok
t/600_todo_tests/004_inlined_constructor_modified_new..........
1..6
ok 1 - The object isa Class::MOP::Method::Wrapped
ok 2 - The object isa Moose::Meta::Method
ok 3 - The object isa Class::MOP::Method::Wrapped
not ok 4 - The object isa Moose::Meta::Method::Constructor # TODO but it isa Moose::Meta::Method instead
# Failed (TODO) test 'The object isa Moose::Meta::Method::Constructor'
# at t/600_todo_tests/004_inlined_constructor_modified_new.t line 35.
# The object isn't a 'Moose::Meta::Method::Constructor' it's a 'Moose::Meta::Method'
ok 5 - around new called
not ok 6 - around new called # TODO but it is not called
# Failed (TODO) test 'around new called'
# at t/600_todo_tests/004_inlined_constructor_modified_new.t line 47.
ok
t/600_todo_tests/005_moose_and_threads.........................
not ok 1 - Moose type constraints and threads dont get along # TODO This is just a stub for the test, see the POD
# Failed (TODO) test 'Moose type constraints and threads dont get along'
# at t/600_todo_tests/005_moose_and_threads.t line 39.
1..1
ok
t/pod..........................................................
1..71
ok 1 - blib\lib\Moose.pm
ok 2 - blib\lib\oose.pm
ok 3 - blib\lib\Moose\Cookbook.pod
ok 4 - blib\lib\Moose\Exporter.pm
ok 5 - blib\lib\Moose\Intro.pod
ok 6 - blib\lib\Moose\Object.pm
ok 7 - blib\lib\Moose\Role.pm
ok 8 - blib\lib\Moose\Unsweetened.pod
ok 9 - blib\lib\Moose\Util.pm
ok 10 - blib\lib\Test\Moose.pm
ok 11 - blib\lib\Moose\Cookbook\FAQ.pod
ok 12 - blib\lib\Moose\Cookbook\Style.pod
ok 13 - blib\lib\Moose\Cookbook\WTF.pod
ok 14 - blib\lib\Moose\Error\Confess.pm
ok 15 - blib\lib\Moose\Error\Croak.pm
ok 16 - blib\lib\Moose\Error\Default.pm
ok 17 - blib\lib\Moose\Meta\Attribute.pm
ok 18 - blib\lib\Moose\Meta\Class.pm
ok 19 - blib\lib\Moose\Meta\Instance.pm
ok 20 - blib\lib\Moose\Meta\Method.pm
ok 21 - blib\lib\Moose\Meta\Role.pm
ok 22 - blib\lib\Moose\Meta\TypeCoercion.pm
ok 23 - blib\lib\Moose\Meta\TypeConstraint.pm
ok 24 - blib\lib\Moose\Spec\Role.pod
ok 25 - blib\lib\Moose\Util\MetaRole.pm
ok 26 - blib\lib\Moose\Util\TypeConstraints.pm
ok 27 - blib\lib\Moose\Cookbook\Basics\Recipe1.pod
ok 28 - blib\lib\Moose\Cookbook\Basics\Recipe10.pod
ok 29 - blib\lib\Moose\Cookbook\Basics\Recipe2.pod
ok 30 - blib\lib\Moose\Cookbook\Basics\Recipe3.pod
ok 31 - blib\lib\Moose\Cookbook\Basics\Recipe4.pod
ok 32 - blib\lib\Moose\Cookbook\Basics\Recipe5.pod
ok 33 - blib\lib\Moose\Cookbook\Basics\Recipe6.pod
ok 34 - blib\lib\Moose\Cookbook\Basics\Recipe7.pod
ok 35 - blib\lib\Moose\Cookbook\Basics\Recipe9.pod
ok 36 - blib\lib\Moose\Cookbook\Extending\Recipe1.pod
ok 37 - blib\lib\Moose\Cookbook\Extending\Recipe2.pod
ok 38 - blib\lib\Moose\Cookbook\Extending\Recipe3.pod
ok 39 - blib\lib\Moose\Cookbook\Extending\Recipe4.pod
ok 40 - blib\lib\Moose\Cookbook\Meta\Recipe1.pod
ok 41 - blib\lib\Moose\Cookbook\Meta\Recipe2.pod
ok 42 - blib\lib\Moose\Cookbook\Meta\Recipe3.pod
ok 43 - blib\lib\Moose\Cookbook\Meta\Recipe4.pod
ok 44 - blib\lib\Moose\Cookbook\Meta\Recipe5.pod
ok 45 - blib\lib\Moose\Cookbook\Roles\Recipe1.pod
ok 46 - blib\lib\Moose\Cookbook\Roles\Recipe2.pod
ok 47 - blib\lib\Moose\Cookbook\Snack\Keywords.pod
ok 48 - blib\lib\Moose\Cookbook\Snack\Types.pod
ok 49 - blib\lib\Moose\Meta\Method\Accessor.pm
ok 50 - blib\lib\Moose\Meta\Method\Augmented.pm
ok 51 - blib\lib\Moose\Meta\Method\Constructor.pm
ok 52 - blib\lib\Moose\Meta\Method\Delegation.pm
ok 53 - blib\lib\Moose\Meta\Method\Destructor.pm
ok 54 - blib\lib\Moose\Meta\Method\Overriden.pm
ok 55 - blib\lib\Moose\Meta\Role\Application.pm
ok 56 - blib\lib\Moose\Meta\Role\Composite.pm
ok 57 - blib\lib\Moose\Meta\Role\Method.pm
ok 58 - blib\lib\Moose\Meta\TypeCoercion\Union.pm
ok 59 - blib\lib\Moose\Meta\TypeConstraint\Class.pm
ok 60 - blib\lib\Moose\Meta\TypeConstraint\Enum.pm
ok 61 - blib\lib\Moose\Meta\TypeConstraint\Parameterizable.pm
ok 62 - blib\lib\Moose\Meta\TypeConstraint\Parameterized.pm
ok 63 - blib\lib\Moose\Meta\TypeConstraint\Registry.pm
ok 64 - blib\lib\Moose\Meta\TypeConstraint\Role.pm
ok 65 - blib\lib\Moose\Meta\TypeConstraint\Union.pm
ok 66 - blib\lib\Moose\Util\TypeConstraints\OptimizedConstraints.pm
ok 67 - blib\lib\Moose\Meta\Role\Application\RoleSummation.pm
ok 68 - blib\lib\Moose\Meta\Role\Application\ToClass.pm
ok 69 - blib\lib\Moose\Meta\Role\Application\ToInstance.pm
ok 70 - blib\lib\Moose\Meta\Role\Application\ToRole.pm
ok 71 - blib\lib\Moose\Meta\Role\Method\Required.pm
ok
t/pod_coverage.................................................
1..42
ok 1 - Pod coverage for Moose
ok 2 - Pod coverage for Moose::Error::Confess
ok 3 - Pod coverage for Moose::Error::Croak
ok 4 - Pod coverage for Moose::Error::Default
ok 5 - Pod coverage for Moose::Exporter
ok 6 - Pod coverage for Moose::Meta::Attribute
ok 7 - Pod coverage for Moose::Meta::Class
ok 8 - Pod coverage for Moose::Meta::Instance
ok 9 - Pod coverage for Moose::Meta::Method
ok 10 - Pod coverage for Moose::Meta::Method::Accessor
ok 11 - Pod coverage for Moose::Meta::Method::Augmented
ok 12 - Pod coverage for Moose::Meta::Method::Constructor
ok 13 - Pod coverage for Moose::Meta::Method::Delegation
ok 14 - Pod coverage for Moose::Meta::Method::Destructor
ok 15 - Pod coverage for Moose::Meta::Method::Overriden
ok 16 - Pod coverage for Moose::Meta::Role
ok 17 - Pod coverage for Moose::Meta::Role::Application
ok 18 - Pod coverage for Moose::Meta::Role::Application::RoleSummation
ok 19 - Pod coverage for Moose::Meta::Role::Application::ToClass
ok 20 - Pod coverage for Moose::Meta::Role::Application::ToInstance
ok 21 - Pod coverage for Moose::Meta::Role::Application::ToRole
ok 22 - Pod coverage for Moose::Meta::Role::Composite
ok 23 - Pod coverage for Moose::Meta::Role::Method
ok 24 - Pod coverage for Moose::Meta::Role::Method::Required
ok 25 - Pod coverage for Moose::Meta::TypeCoercion
ok 26 - Pod coverage for Moose::Meta::TypeCoercion::Union
ok 27 - Pod coverage for Moose::Meta::TypeConstraint
ok 28 - Pod coverage for Moose::Meta::TypeConstraint::Class
ok 29 - Pod coverage for Moose::Meta::TypeConstraint::Enum
ok 30 - Pod coverage for Moose::Meta::TypeConstraint::Parameterizable
ok 31 - Pod coverage for Moose::Meta::TypeConstraint::Parameterized
ok 32 - Pod coverage for Moose::Meta::TypeConstraint::Registry
ok 33 - Pod coverage for Moose::Meta::TypeConstraint::Role
ok 34 - Pod coverage for Moose::Meta::TypeConstraint::Union
ok 35 - Pod coverage for Moose::Object
ok 36 - Pod coverage for Moose::Role
ok 37 - Pod coverage for Moose::Util
ok 38 - Pod coverage for Moose::Util::MetaRole
ok 39 - Pod coverage for Moose::Util::TypeConstraints
ok 40 - Pod coverage for Moose::Util::TypeConstraints::OptimizedConstraints
ok 41 - Pod coverage for Test::Moose
ok 42 - Pod coverage for oose
ok
All tests successful.
Files=174, Tests=3615, 56 wallclock secs ( 0.19 usr + 1.39 sys = 1.58 CPU)
Result: PASS
DROLSKY/Moose-0.58.tar.gz
nmake test TEST_VERBOSE=1 -- OK
Dave Rolsky <autarch@urth.org>
A postmodern object system for Perl 5
>>> (cd C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv && tar cvf - Moose-0.58.ppd blib) | gzip -c >C:/cpanfly/var/REPO/D/DR/DROLSKY/Moose-0.58.tar.gz
Moose-0.58.ppd
blib/
blib/lib/
blib/lib/Moose/
blib/lib/Moose/Cookbook/
blib/lib/Moose/Cookbook/Basics/
blib/lib/Moose/Cookbook/Basics/Recipe1.pod
blib/lib/Moose/Cookbook/Basics/Recipe10.pod
blib/lib/Moose/Cookbook/Basics/Recipe2.pod
blib/lib/Moose/Cookbook/Basics/Recipe3.pod
blib/lib/Moose/Cookbook/Basics/Recipe4.pod
blib/lib/Moose/Cookbook/Basics/Recipe5.pod
blib/lib/Moose/Cookbook/Basics/Recipe6.pod
blib/lib/Moose/Cookbook/Basics/Recipe7.pod
blib/lib/Moose/Cookbook/Basics/Recipe9.pod
blib/lib/Moose/Cookbook/Extending/
blib/lib/Moose/Cookbook/Extending/Recipe1.pod
blib/lib/Moose/Cookbook/Extending/Recipe2.pod
blib/lib/Moose/Cookbook/Extending/Recipe3.pod
blib/lib/Moose/Cookbook/Extending/Recipe4.pod
blib/lib/Moose/Cookbook/FAQ.pod
blib/lib/Moose/Cookbook/Meta/
blib/lib/Moose/Cookbook/Meta/Recipe1.pod
blib/lib/Moose/Cookbook/Meta/Recipe2.pod
blib/lib/Moose/Cookbook/Meta/Recipe3.pod
blib/lib/Moose/Cookbook/Meta/Recipe4.pod
blib/lib/Moose/Cookbook/Meta/Recipe5.pod
blib/lib/Moose/Cookbook/Roles/
blib/lib/Moose/Cookbook/Roles/Recipe1.pod
blib/lib/Moose/Cookbook/Roles/Recipe2.pod
blib/lib/Moose/Cookbook/Snack/
blib/lib/Moose/Cookbook/Snack/Keywords.pod
blib/lib/Moose/Cookbook/Snack/Types.pod
blib/lib/Moose/Cookbook/Style.pod
blib/lib/Moose/Cookbook/WTF.pod
blib/lib/Moose/Cookbook.pod
blib/lib/Moose/Error/
blib/lib/Moose/Error/Confess.pm
blib/lib/Moose/Error/Croak.pm
blib/lib/Moose/Error/Default.pm
blib/lib/Moose/Exporter.pm
blib/lib/Moose/Intro.pod
blib/lib/Moose/Meta/
blib/lib/Moose/Meta/Attribute.pm
blib/lib/Moose/Meta/Class.pm
blib/lib/Moose/Meta/Instance.pm
blib/lib/Moose/Meta/Method/
blib/lib/Moose/Meta/Method/Accessor.pm
blib/lib/Moose/Meta/Method/Augmented.pm
blib/lib/Moose/Meta/Method/Constructor.pm
blib/lib/Moose/Meta/Method/Delegation.pm
blib/lib/Moose/Meta/Method/Destructor.pm
blib/lib/Moose/Meta/Method/Overriden.pm
blib/lib/Moose/Meta/Method.pm
blib/lib/Moose/Meta/Role/
blib/lib/Moose/Meta/Role/Application/
blib/lib/Moose/Meta/Role/Application/RoleSummation.pm
blib/lib/Moose/Meta/Role/Application/ToClass.pm
blib/lib/Moose/Meta/Role/Application/ToInstance.pm
blib/lib/Moose/Meta/Role/Application/ToRole.pm
blib/lib/Moose/Meta/Role/Application.pm
blib/lib/Moose/Meta/Role/Composite.pm
blib/lib/Moose/Meta/Role/Method/
blib/lib/Moose/Meta/Role/Method/Required.pm
blib/lib/Moose/Meta/Role/Method.pm
blib/lib/Moose/Meta/Role.pm
blib/lib/Moose/Meta/TypeCoercion/
blib/lib/Moose/Meta/TypeCoercion/Union.pm
blib/lib/Moose/Meta/TypeCoercion.pm
blib/lib/Moose/Meta/TypeConstraint/
blib/lib/Moose/Meta/TypeConstraint/Class.pm
blib/lib/Moose/Meta/TypeConstraint/Enum.pm
blib/lib/Moose/Meta/TypeConstraint/Parameterizable.pm
blib/lib/Moose/Meta/TypeConstraint/Parameterized.pm
blib/lib/Moose/Meta/TypeConstraint/Registry.pm
blib/lib/Moose/Meta/TypeConstraint/Role.pm
blib/lib/Moose/Meta/TypeConstraint/Union.pm
blib/lib/Moose/Meta/TypeConstraint.pm
blib/lib/Moose/Object.pm
blib/lib/Moose/Role.pm
blib/lib/Moose/Spec/
blib/lib/Moose/Spec/Role.pod
blib/lib/Moose/Unsweetened.pod
blib/lib/Moose/Util/
blib/lib/Moose/Util/MetaRole.pm
blib/lib/Moose/Util/TypeConstraints/
blib/lib/Moose/Util/TypeConstraints/OptimizedConstraints.pm
blib/lib/Moose/Util/TypeConstraints.pm
blib/lib/Moose/Util.pm
blib/lib/Moose.pm
blib/lib/oose.pm
blib/lib/Test/
blib/lib/Test/Moose.pm
>>> mv C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv/Moose-0.58.ppd C:/cpanfly/var/REPO/D/DR/DROLSKY
Running make for D/DR/DROLSKY/Fey-ORM-0.11.tar.gz
Prepending C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv/blib/arch C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv/blib/lib C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/arch C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/lib to PERL5LIB for 'get'
Has already been unwrapped into directory C:\cpanfly\var\cpan\build\Fey-ORM-0.11-iAuxpq
Prepending C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv/blib/arch C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv/blib/lib C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/arch C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/lib to PERL5LIB for 'make'
CPAN.pm: Going to build D/DR/DROLSKY/Fey-ORM-0.11.tar.gz
>>> nmake
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
C:\Perl\bin\perl.exe Build --makefile_env_macros 1
Build: blib\lib\Fey\ORM\Exceptions.pm: cannot resolve L in paragraph 25.
Copying lib\Fey\ORM.pm -> blib\lib\Fey\ORM.pm
Copying lib\Fey\ORM\Table.pm -> blib\lib\Fey\ORM\Table.pm
Copying lib\Fey\Meta\Class\Table.pm -> blib\lib\Fey\Meta\Class\Table.pm
Copying lib\Fey\Meta\Class\Schema.pm -> blib\lib\Fey\Meta\Class\Schema.pm
Copying lib\Fey\Object\Iterator.pm -> blib\lib\Fey\Object\Iterator.pm
Copying lib\Fey\Meta\Method\Constructor.pm -> blib\lib\Fey\Meta\Method\Constructor.pm
Copying lib\Fey\Meta\Attribute\FromSelect.pm -> blib\lib\Fey\Meta\Attribute\FromSelect.pm
Copying lib\Fey\Hash\ColumnsKey.pm -> blib\lib\Fey\Hash\ColumnsKey.pm
Copying lib\Fey\ORM\Schema.pm -> blib\lib\Fey\ORM\Schema.pm
Copying lib\Fey\ORM\Exceptions.pm -> blib\lib\Fey\ORM\Exceptions.pm
Copying lib\Fey\Object\Table.pm -> blib\lib\Fey\Object\Table.pm
Copying lib\Fey\Object\Schema.pm -> blib\lib\Fey\Object\Schema.pm
Copying lib\Fey\Object\Iterator\Caching.pm -> blib\lib\Fey\Object\Iterator\Caching.pm
Copying lib\Fey\ORM\Manual\Intro.pod -> blib\lib\Fey\ORM\Manual\Intro.pod
Copying lib\Fey\ORM\Manual.pod -> blib\lib\Fey\ORM\Manual.pod
Manifying blib\lib/Fey/Object/Iterator.pm -> blib\libdoc\Fey.Object.Iterator.3
Manifying blib\lib/Fey/Meta/Class/Table.pm -> blib\libdoc\Fey.Meta.Class.Table.3
Manifying blib\lib/Fey/ORM.pm -> blib\libdoc\Fey.ORM.3
Manifying blib\lib/Fey/ORM/Schema.pm -> blib\libdoc\Fey.ORM.Schema.3
Manifying blib\lib/Fey/Meta/Class/Schema.pm -> blib\libdoc\Fey.Meta.Class.Schema.3
Manifying blib\lib/Fey/ORM/Exceptions.pm -> blib\libdoc\Fey.ORM.Exceptions.3
Manifying blib\lib/Fey/Hash/ColumnsKey.pm -> blib\libdoc\Fey.Hash.ColumnsKey.3
Manifying blib\lib/Fey/Object/Table.pm -> blib\libdoc\Fey.Object.Table.3
Manifying blib\lib/Fey/Object/Schema.pm -> blib\libdoc\Fey.Object.Schema.3
Manifying blib\lib/Fey/Meta/Attribute/FromSelect.pm -> blib\libdoc\Fey.Meta.Attribute.FromSelect.3
Manifying blib\lib/Fey/ORM/Manual.pod -> blib\libdoc\Fey.ORM.Manual.3
Manifying blib\lib/Fey/Object/Iterator/Caching.pm -> blib\libdoc\Fey.Object.Iterator.Caching.3
Manifying blib\lib/Fey/ORM/Table.pm -> blib\libdoc\Fey.ORM.Table.3
Manifying blib\lib/Fey/ORM/Manual/Intro.pod -> blib\libdoc\Fey.ORM.Manual.Intro.3
HTMLifying blib\lib\Fey\Object\Iterator.pm -> blib\libhtml\site\lib\Fey\Object\Iterator.html
HTMLifying blib\lib\Fey\Meta\Class\Table.pm -> blib\libhtml\site\lib\Fey\Meta\Class\Table.html
HTMLifying blib\lib\Fey\ORM.pm -> blib\libhtml\site\lib\Fey\ORM.html
HTMLifying blib\lib\Fey\ORM\Schema.pm -> blib\libhtml\site\lib\Fey\ORM\Schema.html
HTMLifying blib\lib\Fey\Meta\Class\Schema.pm -> blib\libhtml\site\lib\Fey\Meta\Class\Schema.html
HTMLifying blib\lib\Fey\ORM\Exceptions.pm -> blib\libhtml\site\lib\Fey\ORM\Exceptions.html
HTMLifying blib\lib\Fey\Hash\ColumnsKey.pm -> blib\libhtml\site\lib\Fey\Hash\ColumnsKey.html
HTMLifying blib\lib\Fey\Object\Table.pm -> blib\libhtml\site\lib\Fey\Object\Table.html
HTMLifying blib\lib\Fey\Object\Schema.pm -> blib\libhtml\site\lib\Fey\Object\Schema.html
HTMLifying blib\lib\Fey\Meta\Attribute\FromSelect.pm -> blib\libhtml\site\lib\Fey\Meta\Attribute\FromSelect.html
HTMLifying blib\lib\Fey\ORM\Manual.pod -> blib\libhtml\site\lib\Fey\ORM\Manual.html
HTMLifying blib\lib\Fey\Object\Iterator\Caching.pm -> blib\libhtml\site\lib\Fey\Object\Iterator\Caching.html
HTMLifying blib\lib\Fey\ORM\Table.pm -> blib\libhtml\site\lib\Fey\ORM\Table.html
HTMLifying blib\lib\Fey\ORM\Manual\Intro.pod -> blib\libhtml\site\lib\Fey\ORM\Manual\Intro.html
DROLSKY/Fey-ORM-0.11.tar.gz
nmake -- OK
Prepending C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv/blib/arch C:\cpanfly\var\cpan\build\Moose-0.58-UIZivv/blib/lib C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/arch C:\cpanfly\var\cpan\build\Class-MOP-0.66-fvGeVc/blib/lib to PERL5LIB for 'test'
Running make test
>>> nmake test TEST_VERBOSE=1
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
C:\Perl\bin\perl.exe Build --makefile_env_macros 1 test
t/Class/Schema................
1..7
ok 1 - meta()->_has_schema() is true
ok 2 - Schema() returns expected schema
ok 3 - The object isa Fey::DBIManager
ok 4 - SQLFactoryClass() is Fey::SQL
ok 5 - Schema->isa('Fey::Object::Schema')
ok 6 - ClassForSchema() return Schema as class name
ok 7 - cannot associate the same schema with multiple classes
ok
t/Class/Table-has_many........
1..21
ok 1 - User->can('messages')
ok 2 - no clearer for non-cached has_many
ok 3 - without caching messages is not an attribute of the User class
ok 4 - User->can('messages')
ok 5 - User->can('_clear_messages')
ok 6 - found attribute for _messages
ok 7 - _messages attribute default is a coderef
ok 8 - _messages attribute type constraint is Fey::Object::Iterator::Caching
ok 9 - found method for messages
ok 10 - Cannot declare a has_many relationship to a table with which we have no FK
ok 11 - no exception declaring a self-referential has_many
ok 12 - table without a schema passed to has_many()
ok 13 - Message->can('child_message_users')
ok 14 - without caching child_message_users is not an attribute of the Message class
ok 15 - Message->can('child_message_users')
ok 16 - found attribute for _child_message_users
ok 17 - _child_message_users attribute default is a coderef
ok 18 - _child_message_users attribute type constraint is Fey::Object::Iterator::Caching
ok 19 - found method for child_message_users
ok 20 - exception is thrown if trying to make a has_many() when there is >1 fk between the two tables
ok 21 - no error when specifying passing a disambiguating fk to has_many
ok
t/Class/Table-has_one.........
1..26
ok 1 - Message->can('user')
ok 2 - found attribute for user
ok 3 - user attribute default is a coderef
ok 4 - user attribute type constraint is Fey::Object::Table
ok 5 - user attribute type constraint is Maybe[Fey::Object::Table]
ok 6 - Message->can('my_user')
ok 7 - Message->can('_clear_my_user')
ok 8 - found attribute for my_user
ok 9 - my_user attribute default is a coderef
ok 10 - my_user attribute type constraint is Fey::Object::Table
ok 11 - Message->can('user')
ok 12 - no clearer for non-cached has_one
ok 13 - Message does not have an attribute for user (but does have a user() method)
ok 14 - Message->can('username')
ok 15 - Message->can('email')
ok 16 - Cannot declare a has_one relationship to a table with which we have no FK
ok 17 - no exception declaring a self-referential has_one
ok 18 - table without a schema passed to has_one()
ok 19 - exception is thrown if trying to make a has_one() when there is >1 fk between the two tables
ok 20 - no error when specifying passing a disambiguating fk to has_one
ok 21 - Message->can('most_recent_child')
ok 22 - found attribute for most_recent_child
ok 23 - most_recent_child attribute default is a coderef
ok 24 - most_recent_child attribute type constraint is Maybe[Fey::Object::Table]
ok 25 - Message->can('most_recent_child')
ok 26 - Message does not have a most_recent_child attribute, but does have a method for it
ok
t/Class/Table.................
1..32
ok 1 - cannot call has_table() before schema class is loaded
ok 2 - cannot call has_table() more than once for a class
ok 3 - cannot associate the same table with multiple classes
ok 4 - tables passed to has_table() must have a schema
ok 5 - tables passed to has_table() must have at least one key
ok 6 - User->isa('Fey::Object::Table')
ok 7 - User->can('Table')
ok 8 - User->Table() returns User table
ok 9 - Fey::Meta::Class::Table->TableForClass('User') returns User table
ok 10 - Fey::Meta::Class::Table->ClassForTable('User') returns User class
ok 11 - Fey::Meta::Class::Table->ClassForTable( 'User', 'Group' ) returns expected classes
ok 12 - User->can('email')
ok 13 - User->can('user_id')
ok 14 - User->can('username')
ok 15 - User->can('email_raw')
ok 16 - type for user_id is Int
ok 17 - type for username is Str
ok 18 - type for email is Str|Undef
ok 19 - User has an inflator coderef for email
ok 20 - User has a deflator coderef for email
ok 21 - email_raw() returns a plain string
ok 22 - email_raw = test@example.com
ok 23 - The object isa Email
ok 24 - inflated values are cached
ok 25 - cannot provide more than one inflator for a column
ok 26 - cannot provide more than one deflator for a column
ok 27 - cannot transform a nonexistent column
ok 28 - Message has a deflator coderef for message
ok 29 - Message has a deflator coderef for quality
ok 30 - column attributes do not overwrite existing methods
ok 31 - table for User2 class is User
ok 32 - schema for User2 class table is Schema2
ok
t/Object/Iterator.............
1..35
ok 1 - cannot pass empty array for classes attribute
ok 2 - cannot pass strings for classes attribute, must be a Fey::Object subclass
ok 3 - index() is 0 before any data has been fetched
ok 4 - The object isa User
ok 5 - index() is 1 after first row has been fetched
ok 6 - user_id = 1
ok 7 - username = autarch
ok 8 - email = autarch@example.com
ok 9 - index() is 2 after second row has been fetched
ok 10 - user_id = 42
ok 11 - username = bubba
ok 12 - email = bubba@example.com
ok 13 - index() is 2 after attempt to fetch another row
ok 14 - $user is undef when there are no more objects to fetch
ok 15 - index() is 1 after reset and first row has been fetched
ok 16 - user_id = 1
ok 17 - username = autarch
ok 18 - email = autarch@example.com
ok 19 - all() returns expected result
ok 20 - next_as_hash() returns hash with one key
ok 21 - found expected user via next_as_hash()
ok 22 - all_as_hashes returns arrayref of hashes with expected keys
ok 23 - found expected first user in result
ok 24 - found expected second user in result
ok 25 - first user_id with bind params
ok 26 - second user_id with bind params
ok 27 - first user id is 1
ok 28 - first message id is 1
ok 29 - The object isa User
ok 30 - all() returns expected set of objects
ok 31 - first user id is 1
ok 32 - first message id is 1
ok 33 - all_as_hashes() returns expected set of objects
ok 34 - message object is undefined
ok 35 - user object is defined
cannot unlink file for C:\cpanfly\var\tmp\xgYnkhZ41x\test_fey.sqlite: Permission denied at C:\cpanfly\var\megalib/File/Temp.pm line 901
cannot remove directory for C:\cpanfly\var\tmp\xgYnkhZ41x: Directory not empty at C:\cpanfly\var\megalib/File/Temp.pm line 901
ok
t/Object/Iterator/Caching.....
1..43
ok 1 - index() is 0 before any data has been fetched
ok 2 - The object isa User
ok 3 - index() is 1 after first row has been fetched
ok 4 - user_id = 1
ok 5 - username = autarch
ok 6 - email = autarch@example.com
ok 7 - index() is 2 after second row has been fetched
ok 8 - user_id = 42
ok 9 - username = bubba
ok 10 - email = bubba@example.com
ok 11 - index() is 2 after attempt to fetch another row
ok 12 - $user is undef when there are no more objects to fetch
ok 13 - index() is 1 after reset and first row has been fetched
ok 14 - user_id = 1
ok 15 - username = autarch
ok 16 - email = autarch@example.com
ok 17 - all() returns expected result
ok 18 - next_as_hash() returns hash with one key
ok 19 - found expected user via next_as_hash()
ok 20 - all_as_hashes returns arrayref of hashes with expected keys
ok 21 - found expected first user in result
ok 22 - found expected second user in result
ok 23 - first user_id with bind params
ok 24 - second user_id with bind params
ok 25 - first user id is 1
ok 26 - first message id is 1
ok 27 - The object isa User
ok 28 - all() returns expected set of objects
ok 29 - first user id is 1
ok 30 - first message id is 1
ok 31 - all_as_hashes() returns expected set of objects
ok 32 - message object is undefined
ok 33 - user object is defined
ok 34 - index() is 1 after reset and first row has been fetched
ok 35 - user_id = 1
ok 36 - username = autarch
ok 37 - email = autarch@example.com
ok 38 - index() is 2 after second row has been fetched
ok 39 - user_id = 42
ok 40 - username = bubba
ok 41 - email = bubba@example.com
ok 42 - index() is 2 after attempt to fetch another row
ok 43 - $user is undef when there are no more objects to fetch
cannot unlink file for C:\cpanfly\var\tmp\DZZ09qYoqv\test_fey.sqlite: Permission denied at C:\cpanfly\var\megalib/File/Temp.pm line 901
cannot remove directory for C:\cpanfly\var\tmp\DZZ09qYoqv: Directory not empty at C:\cpanfly\var\megalib/File/Temp.pm line 901
ok
t/Object/Schema...............
1..16
ok 1 - object cache is enabled in User after Schema->EnableObjectCaches()
ok 2 - object cache is enabled in Message after Schema->EnableObjectCaches()
ok 3 - object cache is disabled in User after Schema->DisableObjectCaches()
ok 4 - object cache is disabled in Message after Schema->DisableObjectCaches()
ok 5 - User has two unique objects in its cache
ok 6 - Message has two unique objects in its cache
ok 7 - User has no objects in its cache after Schema->ClearObjectCaches()
ok 8 - Message has no objects in its cache after Schema->ClearObjectCaches()
ok 9 - username of foo was inserted via RunInTransaction
ok 10 - username of bar was not inserted via RunInTransaction because of rollback
ok 11 - username of baz was inserted via nested RunInTransaction
ok 12 - username of quux was not inserted via nested RunInTransaction because of rollback
ok 13 - RunInTransaction returns value
ok 14 - nested RunInTransaction returns value
ok 15 - RunInTransaction respects calling context
ok 16 - nested RunInTransaction respects calling context
cannot unlink file for C:\cpanfly\var\tmp\oIivBTarQU\test_fey.sqlite: Permission denied at C:\cpanfly\var\megalib/File/Temp.pm line 901
cannot remove directory for C:\cpanfly\var\tmp\oIivBTarQU: Directory not empty at C:\cpanfly\var\megalib/File/Temp.pm line 901
ok
t/Object/Table-cache..........
1..8
ok 1 - two objects for the same id are identical when the object cache is enabled
ok 2 - two objects for the same id are identical when the object cache is enabled - one object created via hashref to new()
ok 3 - two objects for the same id are not identical when the object cache is disabled
ok 4 - two objects for the same id are not identical when the object cache is enabled but cleared between calls to new()
ok 5 - two objects for the same id are identical when the object cache is enabled
ok 6 - two objects for the same id are identical when the object cache is enabled - one object created via hashref to new()
ok 7 - two objects for the same id are not identical when the object cache is disabled
ok 8 - two objects for the same id are not identical when the object cache is enabled but cleared between calls to new()
cannot unlink file for C:\cpanfly\var\tmp\5UZheuzzOC\test_fey.sqlite: Permission denied at C:\cpanfly\var\megalib/File/Temp.pm line 901
cannot remove directory for C:\cpanfly\var\tmp\5UZheuzzOC: Directory not empty at C:\cpanfly\var\megalib/File/Temp.pm line 901
ok
t/Object/Table-has_many.......
1..9
ok 1 - messages() method returns iterator with expected message data
ok 2 - child_messages() method returns iterator with expected message data
ok 3 - messages() method returns iterator with expected message data, respecting order_by
ok 4 - The object isa Fey::Object::Iterator::Caching
ok 5 - messages() method returns iterator with expected message data
ok 6 - messages() method returns iterator with expected message data
ok 7 - messages() method resets iterator with each call
ok 8 - found two users from child_message_user()
ok 9 - users are returned in expected order
cannot unlink file for C:\cpanfly\var\tmp\TnDtLAmFxt\test_fey.sqlite: Permission denied at C:\cpanfly\var\megalib/File/Temp.pm line 901
cannot remove directory for C:\cpanfly\var\tmp\TnDtLAmFxt: Directory not empty at C:\cpanfly\var\megalib/File/Temp.pm line 901
ok
t/Object/Table-has_one........
1..12
ok 1 - user() for parent message returns expected user object
ok 2 - user() attribute is cached
ok 3 - parent message has no parent itself
ok 4 - parent_message() attribute created via has_one returns expected message
ok 5 - user() for parent message returns expected user object
ok 6 - user() attribute is not cached
ok 7 - user() for parent message returns expected user object
ok 8 - parent message has no parent itself
ok 9 - parent_message() attribute created via has_one returns expected message
ok 10 - most_recent_message() returns Message object isa Message
ok 11 - message object is the most recently inserted message
ok 12 - message belongs to the user
cannot unlink file for C:\cpanfly\var\tmp\PcCD8IRUwH\test_fey.sqlite: Permission denied at C:\cpanfly\var\megalib/File/Temp.pm line 901
cannot remove directory for C:\cpanfly\var\tmp\PcCD8IRUwH: Directory not empty at C:\cpanfly\var\megalib/File/Temp.pm line 901
ok
t/Object/Table-select-attr....
1..2
ok 1 - email_length accessor gets the right value
ok 2 - user_ids returns an arrayref with the expected values
cannot unlink file for C:\cpanfly\var\tmp\UgsG021_os\test_fey.sqlite: Permission denied at C:\cpanfly\var\megalib/File/Temp.pm line 901
cannot remove directory for C:\cpanfly\var\tmp\UgsG021_os: Directory not empty at C:\cpanfly\var\megalib/File/Temp.pm line 901
ok
t/Object/Table................
1..67
ok 1 - Count() finds two rows
ok 2 - was able to load user where user_id = 1
ok 3 - username is set as side effect of calling _get_column_values()
ok 4 - email is set as side effect of calling _get_column_values()
ok 5 - calling User->new() twice with the same user_id returns two different objects
ok 6 - username is fetched as needed
ok 7 - email is set as side effect of calling username()
ok 8 - nonexistent user_id to new() returns undef
ok 9 - new() is not called when insert() is done in void context
ok 10 - Count() is now 3
ok 11 - object returned from insert() has username = new2
ok 12 - object returned from insert() has a user id > 0 (fetched via last_insert_id())
ok 13 - Count() is now 4
ok 14 - literals are handled correctly in an insert
ok 15 - got expected user when creating object via username
ok 16 - error message when we cannot find a matching row in the dbms
ok 17 - error message when we cannot find a matching row for any keys
ok 18 - two new users were inserted
ok 19 - users were returned with expected data in the order they were provided
ok 20 - email is not cleared when update value is a non-reference
ok 21 - username = updated
ok 22 - email = updated@example.com
ok 23 - username is cleared when update value is a reference
ok 24 - username = updated2
ok 25 - _load_from_dbms() is not called when _from_query is passed to the constructor
ok 26 - data passed to constructor is available from object
ok 27 - new() with _from_query requires the primary key
ok 28 - new() with _from_query works when given a candidate key
ok 29 - The object isa Email
ok 30 - deflator intercepts Email object passed to update and turns it into a string
ok 31 - check email in dbms after update with deflator
ok 32 - deflator intercepts Email object passed to insert and turns it into a string
ok 33 - check email in dbms after insert with deflator
ok 34 - Count() finds two rows
ok 35 - was able to load user where user_id = 1
ok 36 - username is set as side effect of calling _get_column_values()
ok 37 - email is set as side effect of calling _get_column_values()
ok 38 - calling User->new() twice with the same user_id returns two different objects
ok 39 - username is fetched as needed
ok 40 - email is set as side effect of calling username()
ok 41 - nonexistent user_id to new() returns undef
ok 42 - new() is not called when insert() is done in void context
ok 43 - Count() is now 3
ok 44 - object returned from insert() has username = new2
ok 45 - object returned from insert() has a user id > 0 (fetched via last_insert_id())
ok 46 - Count() is now 4
ok 47 - literals are handled correctly in an insert
ok 48 - got expected user when creating object via username
ok 49 - error message when we cannot find a matching row in the dbms
ok 50 - error message when we cannot find a matching row for any keys
ok 51 - two new users were inserted
ok 52 - users were returned with expected data in the order they were provided
ok 53 - email is not cleared when update value is a non-reference
ok 54 - username = updated
ok 55 - email = updated@example.com
ok 56 - username is cleared when update value is a reference
ok 57 - username = updated2
ok 58 - _load_from_dbms() is not called when _from_query is passed to the constructor
ok 59 - data passed to constructor is available from object
ok 60 - new() with _from_query requires the primary key
ok 61 - new() with _from_query works when given a candidate key
ok 62 - The object isa Email
ok 63 - deflator intercepts Email object passed to update and turns it into a string
ok 64 - check email in dbms after update with deflator
ok 65 - deflator intercepts Email object passed to insert and turns it into a string
ok 66 - check email in dbms after insert with deflator
ok 67 - after delete() user is no longer in dbms
cannot unlink file for C:\cpanfly\var\tmp\h9X1WkmPLR\test_fey.sqlite: Permission denied at C:\cpanfly\var\megalib/File/Temp.pm line 901
cannot remove directory for C:\cpanfly\var\tmp\h9X1WkmPLR: Directory not empty at C:\cpanfly\var\megalib/File/Temp.pm line 901
ok
t/kwalitee....................
1..0 # Skip This test is only run for the module author
skipped: This test is only run for the module author
t/pod-coverage................
1..0 # Skip This test is only run for the module author
skipped: This test is only run for the module author
t/pod.........................
1..0 # Skip This test is only run for the module author
skipped: This test is only run for the module author
All tests successful.
Files=15, Tests=278, 16 wallclock secs ( 0.05 usr + 0.11 sys = 0.16 CPU)
Result: PASS
DROLSKY/Fey-ORM-0.11.tar.gz
nmake test TEST_VERBOSE=1 -- OK
Dave Rolsky <autarch@urth.org>
A Fey-based ORM
>>> (cd C:\cpanfly\var\cpan\build\Fey-ORM-0.11-iAuxpq && tar cvf - Fey-ORM-0.11.ppd blib) | gzip -c >C:/cpanfly/var/REPO/D/DR/DROLSKY/Fey-ORM-0.11.tar.gz
Fey-ORM-0.11.ppd
blib/
blib/lib/
blib/lib/Fey/
blib/lib/Fey/Hash/
blib/lib/Fey/Hash/ColumnsKey.pm
blib/lib/Fey/Meta/
blib/lib/Fey/Meta/Attribute/
blib/lib/Fey/Meta/Attribute/FromSelect.pm
blib/lib/Fey/Meta/Class/
blib/lib/Fey/Meta/Class/Schema.pm
blib/lib/Fey/Meta/Class/Table.pm
blib/lib/Fey/Meta/Method/
blib/lib/Fey/Meta/Method/Constructor.pm
blib/lib/Fey/Object/
blib/lib/Fey/Object/Iterator/
blib/lib/Fey/Object/Iterator/Caching.pm
blib/lib/Fey/Object/Iterator.pm
blib/lib/Fey/Object/Schema.pm
blib/lib/Fey/Object/Table.pm
blib/lib/Fey/ORM/
blib/lib/Fey/ORM/Exceptions.pm
blib/lib/Fey/ORM/Manual/
blib/lib/Fey/ORM/Manual/Intro.pod
blib/lib/Fey/ORM/Manual.pod
blib/lib/Fey/ORM/Schema.pm
blib/lib/Fey/ORM/Table.pm
blib/lib/Fey/ORM.pm
>>> mv C:\cpanfly\var\cpan\build\Fey-ORM-0.11-iAuxpq/Fey-ORM-0.11.ppd C:/cpanfly/var/REPO/D/DR/DROLSKY
Finished 2008-09-21T08:09:54