X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F016_class_errors_and_edge_cases.t;h=36a1ac470cd81f27ba29dd297e74ba1a5afd78aa;hb=871e9eb5d05b8b9986b2de3f4095f65a31159c56;hp=6365594d5829cc9e3916c8e32976d8c2dc144f6e;hpb=efd3d14c1cf03120dfd1ed7787f8050e55bb8319;p=gitmo%2FClass-MOP.git diff --git a/t/016_class_errors_and_edge_cases.t b/t/016_class_errors_and_edge_cases.t index 6365594..36a1ac4 100644 --- a/t/016_class_errors_and_edge_cases.t +++ b/t/016_class_errors_and_edge_cases.t @@ -1,246 +1,223 @@ -#!/usr/bin/perl - use strict; use warnings; -use Test::More tests => 48; -use Test::Exception; +use Test::More; +use Test::Fatal; use Class::MOP; { - dies_ok { + isnt( exception { Class::MOP::Class->initialize(); - } '... initialize requires a name parameter'; - - dies_ok { + }, undef, '... initialize requires a name parameter' ); + + isnt( exception { Class::MOP::Class->initialize(''); - } '... initialize requires a name valid parameter'; + }, undef, '... initialize requires a name valid parameter' ); - dies_ok { + isnt( exception { Class::MOP::Class->initialize(bless {} => 'Foo'); - } '... initialize requires an unblessed parameter' + }, undef, '... initialize requires an unblessed parameter' ); } { - dies_ok { - Class::MOP::Class->construct_class_instance(); - } '... construct_class_instance requires an :package parameter'; - - dies_ok { - Class::MOP::Class->construct_class_instance(':package' => undef); - } '... construct_class_instance requires a defined :package parameter'; - - dies_ok { - Class::MOP::Class->construct_class_instance(':package' => ''); - } '... construct_class_instance requires a valid :package parameter'; + isnt( exception { + Class::MOP::Class->_construct_class_instance(); + }, undef, '... _construct_class_instance requires an :package parameter' ); + + isnt( exception { + Class::MOP::Class->_construct_class_instance(':package' => undef); + }, undef, '... _construct_class_instance requires a defined :package parameter' ); + + isnt( exception { + Class::MOP::Class->_construct_class_instance(':package' => ''); + }, undef, '... _construct_class_instance requires a valid :package parameter' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->create(); - } '... create requires an package_name parameter'; - - dies_ok { + }, undef, '... create requires an package_name parameter' ); + + isnt( exception { Class::MOP::Class->create(undef); - } '... create requires a defined package_name parameter'; - - dies_ok { + }, undef, '... create requires a defined package_name parameter' ); + + isnt( exception { Class::MOP::Class->create(''); - } '... create requires a valid package_name parameter'; - - throws_ok { + }, undef, '... create requires a valid package_name parameter' ); + + like( exception { Class::MOP::Class->create('+++'); - } qr/^creation of \+\+\+ failed/, '... create requires a valid package_name parameter'; - + }, qr/^creation of \+\+\+ failed/, '... create requires a valid package_name parameter' ); + } { - dies_ok { + isnt( exception { Class::MOP::Class->clone_object(1); - } '... can only clone instances'; - - dies_ok { - Class::MOP::Class->clone_instance(1); - } '... can only clone instances'; + }, undef, '... can only clone instances' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->add_method(); - } '... add_method dies as expected'; - - dies_ok { + }, undef, '... add_method dies as expected' ); + + isnt( exception { Class::MOP::Class->add_method(''); - } '... add_method dies as expected'; + }, undef, '... add_method dies as expected' ); - dies_ok { + isnt( exception { Class::MOP::Class->add_method('foo' => 'foo'); - } '... add_method dies as expected'; - - dies_ok { - Class::MOP::Class->add_method('foo' => []); - } '... add_method dies as expected'; -} - -{ - dies_ok { - Class::MOP::Class->alias_method(); - } '... alias_method dies as expected'; - - dies_ok { - Class::MOP::Class->alias_method(''); - } '... alias_method dies as expected'; + }, undef, '... add_method dies as expected' ); - dies_ok { - Class::MOP::Class->alias_method('foo' => 'foo'); - } '... alias_method dies as expected'; - - dies_ok { - Class::MOP::Class->alias_method('foo' => []); - } '... alias_method dies as expected'; + isnt( exception { + Class::MOP::Class->add_method('foo' => []); + }, undef, '... add_method dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->has_method(); - } '... has_method dies as expected'; - - dies_ok { + }, undef, '... has_method dies as expected' ); + + isnt( exception { Class::MOP::Class->has_method(''); - } '... has_method dies as expected'; + }, undef, '... has_method dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->get_method(); - } '... get_method dies as expected'; - - dies_ok { + }, undef, '... get_method dies as expected' ); + + isnt( exception { Class::MOP::Class->get_method(''); - } '... get_method dies as expected'; + }, undef, '... get_method dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->remove_method(); - } '... remove_method dies as expected'; - - dies_ok { + }, undef, '... remove_method dies as expected' ); + + isnt( exception { Class::MOP::Class->remove_method(''); - } '... remove_method dies as expected'; + }, undef, '... remove_method dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->find_all_methods_by_name(); - } '... find_all_methods_by_name dies as expected'; - - dies_ok { + }, undef, '... find_all_methods_by_name dies as expected' ); + + isnt( exception { Class::MOP::Class->find_all_methods_by_name(''); - } '... find_all_methods_by_name dies as expected'; + }, undef, '... find_all_methods_by_name dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->add_attribute(bless {} => 'Foo'); - } '... add_attribute dies as expected'; + }, undef, '... add_attribute dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->has_attribute(); - } '... has_attribute dies as expected'; - - dies_ok { + }, undef, '... has_attribute dies as expected' ); + + isnt( exception { Class::MOP::Class->has_attribute(''); - } '... has_attribute dies as expected'; + }, undef, '... has_attribute dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->get_attribute(); - } '... get_attribute dies as expected'; - - dies_ok { + }, undef, '... get_attribute dies as expected' ); + + isnt( exception { Class::MOP::Class->get_attribute(''); - } '... get_attribute dies as expected'; + }, undef, '... get_attribute dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->remove_attribute(); - } '... remove_attribute dies as expected'; - - dies_ok { + }, undef, '... remove_attribute dies as expected' ); + + isnt( exception { Class::MOP::Class->remove_attribute(''); - } '... remove_attribute dies as expected'; + }, undef, '... remove_attribute dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->add_package_symbol(); - } '... add_package_symbol dies as expected'; - - dies_ok { + }, undef, '... add_package_symbol dies as expected' ); + + isnt( exception { Class::MOP::Class->add_package_symbol(''); - } '... add_package_symbol dies as expected'; - - dies_ok { + }, undef, '... add_package_symbol dies as expected' ); + + isnt( exception { Class::MOP::Class->add_package_symbol('foo'); - } '... add_package_symbol dies as expected'; - - dies_ok { + }, undef, '... add_package_symbol dies as expected' ); + + isnt( exception { Class::MOP::Class->add_package_symbol('&foo'); - } '... add_package_symbol dies as expected'; - + }, undef, '... add_package_symbol dies as expected' ); + # throws_ok { # Class::MOP::Class->meta->add_package_symbol('@-'); -# } qr/^Could not create package variable \(\@\-\) because/, -# '... add_package_symbol dies as expected'; +# } qr/^Could not create package variable \(\@\-\) because/, +# '... add_package_symbol dies as expected'; } { - dies_ok { + isnt( exception { Class::MOP::Class->has_package_symbol(); - } '... has_package_symbol dies as expected'; + }, undef, '... has_package_symbol dies as expected' ); - dies_ok { + isnt( exception { Class::MOP::Class->has_package_symbol(''); - } '... has_package_symbol dies as expected'; + }, undef, '... has_package_symbol dies as expected' ); - dies_ok { + isnt( exception { Class::MOP::Class->has_package_symbol('foo'); - } '... has_package_symbol dies as expected'; + }, undef, '... has_package_symbol dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->get_package_symbol(); - } '... get_package_symbol dies as expected'; + }, undef, '... get_package_symbol dies as expected' ); - dies_ok { + isnt( exception { Class::MOP::Class->get_package_symbol(''); - } '... get_package_symbol dies as expected'; + }, undef, '... get_package_symbol dies as expected' ); - dies_ok { + isnt( exception { Class::MOP::Class->get_package_symbol('foo'); - } '... get_package_symbol dies as expected'; + }, undef, '... get_package_symbol dies as expected' ); } { - dies_ok { + isnt( exception { Class::MOP::Class->remove_package_symbol(); - } '... remove_package_symbol dies as expected'; + }, undef, '... remove_package_symbol dies as expected' ); - dies_ok { + isnt( exception { Class::MOP::Class->remove_package_symbol(''); - } '... remove_package_symbol dies as expected'; + }, undef, '... remove_package_symbol dies as expected' ); - dies_ok { + isnt( exception { Class::MOP::Class->remove_package_symbol('foo'); - } '... remove_package_symbol dies as expected'; + }, undef, '... remove_package_symbol dies as expected' ); } +done_testing;