rsrchboy / test-moose-more Goto Github PK
View Code? Open in Web Editor NEWMore tools for testing Moose packages
Home Page: http://metacpan.org/release/Test-Moose-More/
License: Other
More tools for testing Moose packages
Home Page: http://metacpan.org/release/Test-Moose-More/
License: Other
t/attribute/coerce.t fails with the following:
./t/attribute/coerce.t .... You cannot coerce an attribute (yes_coerce) unless its type (Str) has a coercion at /usr/local/lib/perl/5.14.2/Moose/Exception.pm line 38
Moose::Exception::_build_trace('Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion=HASH(0x2f4d1b8)') called at reader Moose::Exception::trace (defined at /usr/local/lib/perl/5.14.2/Moose/Exception.pm line 12) line 7
Moose::Exception::trace('Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion=HASH(0x2f4d1b8)') called at /usr/local/lib/perl/5.14.2/Moose/Exception.pm line 50
Moose::Exception::BUILD('Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion=HASH(0x2f4d1b8)', 'HASH(0x2f4d320)') called at /usr/local/lib/perl/5.14.2/Class/MOP/Method.pm line 131
Class::MOP::Method::execute('Moose::Meta::Method=HASH(0x2ffd008)', 'Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion=HASH(0x2f4d1b8)', 'HASH(0x2f4d320)') called at /usr/local/lib/perl/5.14.2/Moose/Object.pm line 59
Moose::Object::BUILDALL('Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion=HASH(0x2f4d1b8)', 'HASH(0x2f4d320)') called at /usr/local/lib/perl/5.14.2/Moose/Meta/Class.pm line 285
Moose::Meta::Class::new_object('Moose::Meta::Class=HASH(0x2f5ba70)', 'HASH(0x2f4d320)') called at /usr/local/lib/perl/5.14.2/Moose/Object.pm line 30
Moose::Object::new('Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion', 'attribute_name', 'yes_coerce', 'type_name', 'Str', 'params', 'HASH(0x2aa2910)') called at /usr/local/lib/perl/5.14.2/Moose/Util.pm line 54
Moose::Util::throw_exception('CannotCoerceAttributeWhichHasNoCoercion', 'attribute_name', 'yes_coerce', 'type_name', 'Str', 'params', 'HASH(0x2aa2910)') called at /usr/local/lib/perl/5.14.2/Moose/Meta/Attribute.pm line 398
Moose::Meta::Attribute::_process_coerce_option('Moose::Meta::Attribute', 'yes_coerce', 'HASH(0x2aa2910)') called at /usr/local/lib/perl/5.14.2/Moose/Meta/Attribute.pm line 267
Moose::Meta::Attribute::_process_options('Moose::Meta::Attribute', 'yes_coerce', 'HASH(0x2aa2910)') called at /usr/local/lib/perl/5.14.2/Moose/Meta/Attribute.pm line 58
Moose::Meta::Attribute::new('Moose::Meta::Attribute', 'yes_coerce', 'coerce', 1, 'isa', 'Str', 'definition_context', 'HASH(0x2c7c118)', 'is', 'ro') called at /usr/local/lib/perl/5.14.2/Moose/Meta/Attribute.pm line 106
Moose::Meta::Attribute::interpolate_class_and_new('Moose::Meta::Attribute', 'yes_coerce', 'definition_context', 'HASH(0x2c7c118)', 'is', 'ro', 'isa', 'Str', 'coerce', 1) called at /usr/local/lib/perl/5.14.2/Moose/Meta/Class.pm line 719
Moose::Meta::Class::_process_new_attribute('Moose::Meta::Class=HASH(0x2f24538)', 'yes_coerce', 'definition_context', 'HASH(0x2c7c118)', 'is', 'ro', 'isa', 'Str', 'coerce', 1) called at /usr/local/lib/perl/5.14.2/Moose/Meta/Class.pm line 712
Moose::Meta::Class::_process_attribute('Moose::Meta::Class=HASH(0x2f24538)', 'yes_coerce', 'definition_context', 'HASH(0x2c7c118)', 'is', 'ro', 'isa', 'Str', 'coerce', 1) called at /usr/local/lib/perl/5.14.2/Moose/Meta/Class.pm line 576
Moose::Meta::Class::add_attribute('Moose::Meta::Class=HASH(0x2f24538)', 'yes_coerce', 'definition_context', 'HASH(0x2c7c118)', 'is', 'ro', 'isa', 'Str', 'coerce', 1) called at /usr/local/lib/perl/5.14.2/Moose.pm line 80
Moose::has('Moose::Meta::Class=HASH(0x2f24538)', 'yes_coerce', 'is', 'ro', 'isa', 'Str', 'coerce', 1) called at /usr/local/lib/perl/5.14.2/Moose/Exporter.pm line 408
Moose::has('yes_coerce', 'is', 'ro', 'isa', 'Str', 'coerce', 1) called at t/attribute/coerce.t line 25
http://cpansearch.perl.org/src/ETHER/Moose-2.1200/Changes
Change to 2.1100 2013-09-07 (TRIAL RELEASE):
Test-Simple-0.98_05 started to output subtest names http://cpansearch.perl.org/src/MSCHWERN/Test-Simple-0.98_05/Changes which breaks Test-Moose-Moore tests:
not ok 7 - validate_class works correctly for attribute meta checking
# Failed test 'validate_class works correctly for attribute meta checking'
# at t/validate_class.t line 176.
# STDOUT is:
# ok 1 - TestClass has a metaclass
# ok 2 - TestClass is a Moose class
# ok 3 - TestClass has an attribute named bar
# ok 4 - TestClass has an attribute named baz
# # Subtest: [subtest] checking TestClass's attribute baz
# ok 1 - Moose::Meta::Class::__ANON__::SERIAL::1 has a metaclass
# ok 2 - Moose::Meta::Class::__ANON__::SERIAL::1 is a Moose class
# ok 3 - TestClass's attribute baz does TestRole::Two
# ok 4 - TestClass's attribute baz has a reader
# ok 5 - TestClass's attribute baz option reader correct
# 1..5
# ok 5 - [subtest] checking TestClass's attribute baz
# ok 6 - TestClass has an attribute named foo
#
# not:
# ok 1 - TestClass has a metaclass
# ok 2 - TestClass is a Moose class
# ok 3 - TestClass has an attribute named bar
# ok 4 - TestClass has an attribute named baz
# ok 1 - Moose::Meta::Class::__ANON__::SERIAL::1 has a metaclass
# ok 2 - Moose::Meta::Class::__ANON__::SERIAL::1 is a Moose class
# ok 3 - TestClass's attribute baz does TestRole::Two
# ok 4 - TestClass's attribute baz has a reader
# ok 5 - TestClass's attribute baz option reader correct
# 1..5
# ok 5 - [subtest] checking TestClass's attribute baz
# ok 6 - TestClass has an attribute named foo
#
# as expected
This patch fixes it:
--- a/t/validate_class.t
+++ b/t/validate_class.t
@@ -154,6 +154,8 @@ note 'validate w/attribute validation';
test_out $_ok->('TestClass has an attribute named baz');
do {
my ($_ok, $_nok, $_skip, $_plan) = counters(1);
+ test_out (q{ # Subtest: [subtest] checking TestClass's attribute baz})
+ if ($Test::More::VERSION >= 0.9805);
test_out $_ok->(q{Moose::Meta::Class::__ANON__::SERIAL::1 has a metaclass});
test_out $_ok->(q{Moose::Meta::Class::__ANON__::SERIAL::1 is a Moose class});
test_out $_ok->(q{TestClass's attribute baz does TestRole::Two});
--
I experience these failures:
Failed test 'validate_attribute works correctly'
# at t/validate_attribute.t line 77.
# STDOUT is:
# ok 1 - TestClass has an attribute named foo
# ok 2 - Moose::Meta::Class::__ANON__::SERIAL::1 has a metaclass
# ok 3 - Moose::Meta::Class::__ANON__::SERIAL::1 is a Moose class
# ok 4 - An object of class 'Moose::Meta::Class::__ANON__::SERIAL::1' isa 'Moose::Meta::Attribute'
# ok 5 - Moose::Meta::Class::__ANON__::SERIAL::1 does TestRole
# ok 6 - foo is required
# ok 7 - foo has a builder
# ok 8 - foo option builder correct
# ok 9 - foo does not have a default
# ok 10 - foo option default correct
# ok 11 - foo has a reader
# ok 12 - foo option reader correct
# ok 13 # skip cannot test 'isa' options yet
# ok 14 # skip cannot test 'does' options yet
# ok 15 # skip cannot test 'handles' options yet
# ok 16 # skip cannot test 'traits' options yet
# ok 17 - foo has a init_arg
# ok 18 - foo option init_arg correct
# ok 19 - foo is lazy
# not ok 20 - unknown attribute option: binger
# ok 21 - foo has a thinger
# ok 22 - foo option thinger correct
#
# not:
# ok 1 - TestClass has an attribute named foo
# ok 2 - Moose::Meta::Class::__ANON__::SERIAL::1 has a metaclass
# ok 3 - Moose::Meta::Class::__ANON__::SERIAL::1 is a Moose class
# ok 4 - The object isa Moose::Meta::Attribute
# ok 5 - Moose::Meta::Class::__ANON__::SERIAL::1 does TestRole
# ok 6 - foo is required
# ok 7 - foo has a builder
# ok 8 - foo option builder correct
# ok 9 - foo does not have a default
# ok 10 - foo option default correct
# ok 11 - foo has a reader
# ok 12 - foo option reader correct
# ok 13 # skip cannot test 'isa' options yet
# ok 14 # skip cannot test 'does' options yet
# ok 15 # skip cannot test 'handles' options yet
# ok 16 # skip cannot test 'traits' options yet
# ok 17 - foo has a init_arg
# ok 18 - foo option init_arg correct
# ok 19 - foo is lazy
# not ok 20 - unknown attribute option: binger
# ok 21 - foo has a thinger
# ok 22 - foo option thinger correct
#
# as expected
t/validate_attribute.t .......... Failed 1/4 subtests
t/validate_class.t .............. 1/?
# Failed test 'validate_class works correctly for valid classes'
# at t/validate_class.t line 65.
# STDOUT is:
# ok 1 - TestClass has a metaclass
# ok 2 - TestClass is a Moose class
# ok 3 - The class (or class-like) 'TestClass' isa 'Moose::Object'
# ok 4 - TestClass is not anonymous
# ok 5 - TestClass does TestRole
# ok 6 - TestClass does not do TestRole::Two
# ok 7 - TestClass has method foo
# ok 8 - TestClass has method method1
# ok 9 - TestClass has method has_bar
# ok 10 - TestClass has an attribute named bar
#
# not:
# ok 1 - TestClass has a metaclass
# ok 2 - TestClass is a Moose class
# ok 3 - The class isa Moose::Object
# ok 4 - TestClass is not anonymous
# ok 5 - TestClass does TestRole
# ok 6 - TestClass does not do TestRole::Two
# ok 7 - TestClass has method foo
# ok 8 - TestClass has method method1
# ok 9 - TestClass has method has_bar
# ok 10 - TestClass has an attribute named bar
#
# as expected
t/validate_class.t .............. Failed 1/7 subtests
I don't know where the message are coming from. But I think this is just a more verbose Moose diagnostics. My versions are:
t/000-report-versions-tiny.t .... #
#
# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.09
# perl: 5.018000 (wanted 5.006) on linux from /usr/bin/perl
#
# Capture::Tiny => 0.22 (want any version)
# Class::MOP => 2.0802 (want any version)
# Data::OptList => 0.108 (want any version)
# ExtUtils::MakeMaker => 6.68 (want 6.30)
# Moose => 2.0802 (want any version)
# Moose::Autobox => 0.12 (want any version)
# Moose::Role => 2.0802 (want any version)
# Moose::Util => 2.0802 (want any version)
# Moose::Util::TypeConstraints => 2.0802 (want any version)
# Pod::Coverage::TrustPod => module not found. (want any version)
# Scalar::Util => 1.27 (want any version)
# Sub::Exporter => 0.986 (want any version)
# Syntax::Keyword::Junction => 0.003004 (want any version)
# TAP::SimpleOutput => 0.001 (want any version)
# Test::Builder => 0.9805 (want any version)
# Test::Builder::Tester => 1.23_002 (want any version)
# Test::Moose => 2.0802 (want any version)
# Test::More => 0.9805 (want 0.88)
# Test::Pod => 1.48 (want 1.41)
# Test::Pod::Coverage => 1.08 (want 1.08)
# blib => 1.06 (want any version)
# namespace::autoclean => 0.13 (want any version)
# strict => 1.07 (want any version)
# version => 0.9902 (want 0.9901)
# warnings => 1.18 (want any version)
Lots of these in the tests:
Redundant argument in sprintf at /Users/ether/.cpanm/work/1406914551.35459/Test-Moose-More-0.024/blib/lib/Test/Moose/More.pm line 94.
Basically, we have some sanity/validation bits in but are lacking the Test::Builder::Tester bits.
easy to provide with:
warnings::warnif('deprecated', 'is_class is deprecated and may be removed in a future release; replace with is_class_ok');
I'd like to have something like
is_accessor_ok $obj, 'method', 'val'; # ok 1 My::Obj->accessor
the value here is not in having to write the message just to check to see that the value is what I expect.
Also it could double as can_ok
, meaning it'd first check the can and report a can failure, and not throw an exception on that
I added in 'no_extra_attributes'
here
https://github.com/byterock/Test-Moose-More/blob/master/lib/Test/Moose/More.pm
and I have found this to be very useful in my automated testing as it points out extra stuff in my code base that
Will most likely add in 'no_extra' at the class level so it does the same across a class for me
# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.08
# perl: 5.010001 (wanted 5.006) on linux from /usr/bin/perl
#
# Data::OptList => 0.106 (want any version)
# ExtUtils::MakeMaker => 6.64 (want 6.30)
# File::Find => 1.14 (want any version)
# File::Temp => 0.22 (want any version)
# Moose => 1.24 (want any version)
# Moose::Autobox => 0.13 (want any version)
# Moose::Role => 1.24 (want any version)
# Moose::Util => 1.24 (want any version)
# Moose::Util::TypeConstraints => 1.24 (want any version)
# Perl6::Junction => 1.50000 (want any version)
# Pod::Coverage::TrustPod => module not found. (want any version)
# Scalar::Util => 1.21 (want any version)
# Sub::Exporter => 0.982 (want any version)
# TAP::SimpleOutput => 0.001 (want any version)
# Test::Builder => 0.98 (want any version)
# Test::Builder::Tester => 1.22 (want any version)
# Test::Moose => 1.24 (want any version)
# Test::More => 0.98 (want 0.88)
# Test::Pod => 1.45 (want 1.41)
# Test::Pod::Coverage => module not found. (want 1.08)
# namespace::autoclean => 0.12 (want any version)
# strict => 1.04 (want any version)
# version => 0.88 (want 0.9901)
# warnings => 1.06 (want any version)
#
# Thanks for using my code. I hope it works for you.
# If not, please try and include this output in the bug report.
# That will help me reproduce the issue and solve your problem.
#
t/000-report-versions-tiny.t .... ok
t/attribute/coerce.t ............ ok
t/author-pod-spell.t ............ skipped: these tests are for testing by the author
t/check_sugar.t ................. ok
t/does_not_ok.t ................. ok
t/does_ok.t ..................... ok
t/has_attribute_ok.t ............ ok
t/has_method_ok.t ............... ok
Can't locate object method "is_anon" via package "Moose::Meta::Class" at /home/leto/.cpanm/work/1359670536.5594/Test-Moose-More-0.019/blib/lib/Test/Moose/More.pm line 182.
--> Working on Test::Moose::More
Fetching http://www.cpan.org/authors/id/R/RS/RSRCHBOY/Test-Moose-More-0.020.tar.gz
-> OK
Unpacking Test-Moose-More-0.020.tar.gz
Entering Test-Moose-More-0.020
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.30 ... Yes (6.80)
Configuring Test-Moose-More-0.020
Running Makefile.PL
Checking if your kit is complete...
Looks good
Generating a GNU-style Makefile
Writing Makefile for Test::Moose::More
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Scalar::Util 0 ... Yes (1.35)
Checking if you have TAP::SimpleOutput 0 ... No
Checking if you have Moose 0 ... Yes (2.1005)
Checking if you have warnings 0 ... Yes (1.20)
Checking if you have Sub::Exporter 0 ... Yes (0.987)
Checking if you have Moose::Autobox 0 ... Yes (0.13)
Checking if you have Moose::Util 0 ... Yes (2.1005)
Checking if you have Syntax::Keyword::Junction 0 ... Yes (0.003006)
Checking if you have strict 0 ... Yes (1.08)
Checking if you have Test::Builder::Tester 0 ... Yes (1.23_002)
Checking if you have Data::OptList 0 ... Yes (0.108)
Checking if you have namespace::autoclean 0 ... Yes (0.14)
Checking if you have blib 0 ... Yes (1.06)
Checking if you have Test::More 0.88 ... Yes (0.99)
Checking if you have Test::Builder 0 ... Yes (0.99)
Checking if you have Capture::Tiny 0 ... Yes (0.23)
Checking if you have Test::Moose 0 ... Yes (2.1005)
Checking if you have Moose::Role 0 ... Yes (2.1005)
Checking if you have Moose::Util::TypeConstraints 0 ... Yes (2.1005)
==> Found dependencies: TAP::SimpleOutput
Searching TAP::SimpleOutput on cpanmetadb ...
--> Working on TAP::SimpleOutput
Fetching http://www.cpan.org/authors/id/R/RS/RSRCHBOY/TAP-SimpleOutput-0.001.tar.gz
-> OK
Unpacking TAP-SimpleOutput-0.001.tar.gz
Entering TAP-SimpleOutput-0.001
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.30 ... Yes (6.80)
Configuring TAP-SimpleOutput-0.001
Running Makefile.PL
Checking if your kit is complete...
Looks good
Generating a GNU-style Makefile
Writing Makefile for TAP::SimpleOutput
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Test::More 0.88 ... Yes (0.99)
Checking if you have Sub::Exporter 0 ... Yes (0.987)
Checking if you have File::Temp 0 ... Yes (0.2304)
Checking if you have warnings 0 ... Yes (1.20)
Checking if you have strict 0 ... Yes (1.08)
Checking if you have utf8 0 ... Yes (1.13)
Checking if you have File::Find 0 ... Yes (1.25)
Building and testing TAP-SimpleOutput-0.001
cp lib/TAP/SimpleOutput.pm blib/lib/TAP/SimpleOutput.pm
Manifying blib/man3/TAP::SimpleOutput.0
PERL_DL_NONLAZY=1 /Users/ether/perl5/perlbrew/perls/19.5/bin/perl5.19.5 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t .................. ok
#
#
# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.06
# perl: 5.019005 (wanted 5.008) on darwin from /Users/ether/perl5/perlbrew/perls/19.5/bin/perl5.19.5
#
# ExtUtils::MakeMaker => 6.8 (want 6.30)
# File::Find => 1.25 (want any version)
# File::Temp => 0.2304 (want any version)
# Sub::Exporter => 0.987 (want any version)
# Test::More => 0.99 (want 0.88)
# strict => 1.08 (want any version)
# utf8 => 1.13 (want any version)
# warnings => 1.2 (want any version)
#
# Thanks for using my code. I hope it works for you.
# If not, please try and include this output in the bug report.
# That will help me reproduce the issue and solve your problem.
#
t/000-report-versions-tiny.t .... ok
t/author-pod-spell.t ............ skipped: these tests are for testing by the author
t/basic.t ....................... ok
t/release-consistent-version.t .. skipped: these tests are for release candidate testing
t/release-eol.t ................. skipped: these tests are for release candidate testing
t/release-has-version.t ......... skipped: these tests are for release candidate testing
t/release-no-smart-comments.t ... skipped: these tests are for release candidate testing
t/release-no-tabs.t ............. skipped: these tests are for release candidate testing
t/release-pod-coverage.t ........ skipped: these tests are for release candidate testing
t/release-pod-syntax.t .......... skipped: these tests are for release candidate testing
t/release-portability.t ......... skipped: these tests are for release candidate testing
All tests successful.
Files=12, Tests=3, 1 wallclock secs ( 0.04 usr 0.02 sys + 0.33 cusr 0.05 csys = 0.44 CPU)
Result: PASS
Manifying blib/man3/TAP::SimpleOutput.0
Installing /Users/ether/.perlbrew/libs/19.5@std/lib/perl5/TAP/SimpleOutput.pm
Installing /Users/ether/.perlbrew/libs/19.5@std/man/man3/TAP::SimpleOutput.0
Appending installation info to /Users/ether/.perlbrew/libs/19.5@std/lib/perl5/darwin-2level/perllocal.pod
-> OK
Successfully installed TAP-SimpleOutput-0.001
Installing /Users/ether/.perlbrew/libs/19.5@std/lib/perl5/darwin-2level/.meta/TAP-SimpleOutput-0.001/MYMETA.json
Installing /Users/ether/.perlbrew/libs/19.5@std/lib/perl5/darwin-2level/.meta/TAP-SimpleOutput-0.001/install.json
Building and testing Test-Moose-More-0.020
cp lib/Test/Moose/More.pm blib/lib/Test/Moose/More.pm
Manifying blib/man3/Test::Moose::More.0
PERL_DL_NONLAZY=1 /Users/ether/perl5/perlbrew/perls/19.5/bin/perl5.19.5 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/attribute/*.t
t/00-compile.t .................. ok
#
#
# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.09
# perl: 5.019005 (wanted 5.006) on darwin from /Users/ether/perl5/perlbrew/perls/19.5/bin/perl5.19.5
#
# Capture::Tiny => 0.23 (want any version)
# Class::MOP => 2.1005 (want any version)
# Data::OptList => 0.108 (want any version)
# ExtUtils::MakeMaker => 6.8 (want 6.30)
# Moose => 2.1005 (want any version)
# Moose::Autobox => 0.13 (want any version)
# Moose::Role => 2.1005 (want any version)
# Moose::Util => 2.1005 (want any version)
# Moose::Util::TypeConstraints => 2.1005 (want any version)
# Pod::Coverage::TrustPod => 0.100002 (want any version)
# Scalar::Util => 1.35 (want any version)
# Sub::Exporter => 0.987 (want any version)
# Syntax::Keyword::Junction => 0.003006 (want any version)
# TAP::SimpleOutput => 0.001 (want any version)
# Test::Builder => 0.99 (want any version)
# Test::Builder::Tester => 1.23_002 (want any version)
# Test::Moose => 2.1005 (want any version)
# Test::More => 0.99 (want 0.88)
# Test::Pod => 1.48 (want 1.41)
# Test::Pod::Coverage => 1.08 (want 1.08)
# blib => 1.06 (want any version)
# namespace::autoclean => 0.14 (want any version)
# strict => 1.08 (want any version)
# version => 0.9904 (want 0.9901)
# warnings => 1.2 (want any version)
#
# Thanks for using my code. I hope it works for you.
# If not, please try and include this output in the bug report.
# That will help me reproduce the issue and solve your problem.
#
t/000-report-versions-tiny.t .... ok
t/attribute/coerce.t ............ ok
t/author-pod-spell.t ............ skipped: these tests are for testing by the author
t/check_sugar.t ................. ok
t/does_not_ok.t ................. ok
t/does_ok.t ..................... ok
t/has_attribute_ok.t ............ ok
t/has_method_ok.t ............... ok
t/is_anon.t ..................... ok
t/is_class.t .................... ok
t/is_not_anon.t ................. ok
t/is_role.t ..................... ok
t/meta_ok.t ..................... ok
t/release-consistent-version.t .. skipped: these tests are for release candidate testing
t/release-eol.t ................. skipped: these tests are for release candidate testing
t/release-has-version.t ......... skipped: these tests are for release candidate testing
t/release-minimum-version.t ..... skipped: these tests are for release candidate testing
t/release-no-smart-comments.t ... skipped: these tests are for release candidate testing
t/release-no-tabs.t ............. skipped: these tests are for release candidate testing
t/release-pod-coverage.t ........ skipped: these tests are for release candidate testing
t/release-pod-linkcheck.t ....... skipped: these tests are for release candidate testing
t/release-pod-syntax.t .......... skipped: these tests are for release candidate testing
t/requires_method_ok.t .......... ok
# Failed test 'validate_attribute works correctly'
# at t/validate_attribute.t line 77.
# STDOUT is:
# ok 1 - TestClass has an attribute named foo
# ok 2 - Moose::Meta::Class::__ANON__::SERIAL::1 has a metaclass
# ok 3 - Moose::Meta::Class::__ANON__::SERIAL::1 is a Moose class
# ok 4 - An object of class 'Moose::Meta::Class::__ANON__::SERIAL::1' isa 'Moose::Meta::Attribute'
# ok 5 - Moose::Meta::Class::__ANON__::SERIAL::1 does TestRole
# ok 6 - foo is required
# ok 7 - foo has a builder
# ok 8 - foo option builder correct
# ok 9 - foo does not have a default
# ok 10 - foo option default correct
# ok 11 - foo has a reader
# ok 12 - foo option reader correct
# ok 13 # skip cannot test 'isa' options yet
# ok 14 # skip cannot test 'does' options yet
# ok 15 # skip cannot test 'handles' options yet
# ok 16 # skip cannot test 'traits' options yet
# ok 17 - foo has a init_arg
# ok 18 - foo option init_arg correct
# ok 19 - foo is lazy
# not ok 20 - unknown attribute option: binger
# ok 21 - foo has a thinger
# ok 22 - foo option thinger correct
#
# not:
# ok 1 - TestClass has an attribute named foo
# ok 2 - Moose::Meta::Class::__ANON__::SERIAL::1 has a metaclass
# ok 3 - Moose::Meta::Class::__ANON__::SERIAL::1 is a Moose class
# ok 4 - The object isa Moose::Meta::Attribute
# ok 5 - Moose::Meta::Class::__ANON__::SERIAL::1 does TestRole
# ok 6 - foo is required
# ok 7 - foo has a builder
# ok 8 - foo option builder correct
# ok 9 - foo does not have a default
# ok 10 - foo option default correct
# ok 11 - foo has a reader
# ok 12 - foo option reader correct
# ok 13 # skip cannot test 'isa' options yet
# ok 14 # skip cannot test 'does' options yet
# ok 15 # skip cannot test 'handles' options yet
# ok 16 # skip cannot test 'traits' options yet
# ok 17 - foo has a init_arg
# ok 18 - foo option init_arg correct
# ok 19 - foo is lazy
# not ok 20 - unknown attribute option: binger
# ok 21 - foo has a thinger
# ok 22 - foo option thinger correct
#
# as expected
t/validate_attribute.t ..........
Failed 1/4 subtests
# Failed test 'validate_class works correctly for valid classes'
# at t/validate_class.t line 65.
# STDOUT is:
# ok 1 - TestClass has a metaclass
# ok 2 - TestClass is a Moose class
# ok 3 - The class (or class-like) 'TestClass' isa 'Moose::Object'
# ok 4 - TestClass is not anonymous
# ok 5 - TestClass does TestRole
# ok 6 - TestClass does not do TestRole::Two
# ok 7 - TestClass has method foo
# ok 8 - TestClass has method method1
# ok 9 - TestClass has method has_bar
# ok 10 - TestClass has an attribute named bar
#
# not:
# ok 1 - TestClass has a metaclass
# ok 2 - TestClass is a Moose class
# ok 3 - The class isa Moose::Object
# ok 4 - TestClass is not anonymous
# ok 5 - TestClass does TestRole
# ok 6 - TestClass does not do TestRole::Two
# ok 7 - TestClass has method foo
# ok 8 - TestClass has method method1
# ok 9 - TestClass has method has_bar
# ok 10 - TestClass has an attribute named bar
#
# as expected
# Failed test 'validate_class works correctly for attribute meta checking'
# at t/validate_class.t line 176.
# STDOUT is:
# ok 1 - TestClass has a metaclass
# ok 2 - TestClass is a Moose class
# ok 3 - TestClass has an attribute named bar
# ok 4 - TestClass has an attribute named baz
# # Subtest: [subtest] checking TestClass's attribute baz
# ok 1 - Moose::Meta::Class::__ANON__::SERIAL::1 has a metaclass
# ok 2 - Moose::Meta::Class::__ANON__::SERIAL::1 is a Moose class
# ok 3 - TestClass's attribute baz does TestRole::Two
# ok 4 - TestClass's attribute baz has a reader
# ok 5 - TestClass's attribute baz option reader correct
# 1..5
# ok 5 - [subtest] checking TestClass's attribute baz
# ok 6 - TestClass has an attribute named foo
#
# not:
# ok 1 - TestClass has a metaclass
# ok 2 - TestClass is a Moose class
# ok 3 - TestClass has an attribute named bar
# ok 4 - TestClass has an attribute named baz
# ok 1 - Moose::Meta::Class::__ANON__::SERIAL::1 has a metaclass
# ok 2 - Moose::Meta::Class::__ANON__::SERIAL::1 is a Moose class
# ok 3 - TestClass's attribute baz does TestRole::Two
# ok 4 - TestClass's attribute baz has a reader
# ok 5 - TestClass's attribute baz option reader correct
# 1..5
# ok 5 - [subtest] checking TestClass's attribute baz
# ok 6 - TestClass has an attribute named foo
#
# as expected
t/validate_class.t ..............
Failed 2/7 subtests
t/validate_role.t ............... ok
Test Summary Report
-------------------
t/validate_attribute.t (Wstat: 0 Tests: 4 Failed: 1)
Failed test: 1
t/validate_class.t (Wstat: 0 Tests: 7 Failed: 2)
Failed tests: 1, 7
Files=27, Tests=92, 4 wallclock secs ( 0.08 usr 0.05 sys + 4.24 cusr 0.32 csys = 4.69 CPU)
Result: FAIL
Failed 2/27 test programs. 3/92 subtests failed.
make: *** [test_dynamic] Error 255
-> FAIL Installing Test::Moose::More failed. See /Users/ether/.cpanm/work/1382289974.63441/build.log for details. Retry with --force to force install it.
-> FAIL Installing the dependencies failed: Module 'Test::Moose::More' is not installed
-> FAIL Bailing out the installation for MooseX-AttributeShortcuts-0.022.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.