X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F016_class_errors_and_edge_cases.t;h=18429c51955d28df32b4b6c4de2a4a25e897fdf2;hb=75c4dcf327f0c824a890a909148af0b7a3faba2a;hp=c92ccf4b61aa118d4c4dc5bb3c9fd3e160f33b15;hpb=58d75218075c1c4d117151122e54eced58f233c1;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 c92ccf4..18429c5 100644 --- a/t/016_class_errors_and_edge_cases.t +++ b/t/016_class_errors_and_edge_cases.t @@ -1,23 +1,19 @@ -#!/usr/bin/perl - use strict; use warnings; -use Test::More tests => 52; +use Test::More; use Test::Exception; -BEGIN { - use_ok('Class::MOP'); -} +use Class::MOP; { dies_ok { Class::MOP::Class->initialize(); } '... initialize requires a name parameter'; - + dies_ok { Class::MOP::Class->initialize(''); - } '... initialize requires a name valid parameter'; + } '... initialize requires a name valid parameter'; dies_ok { Class::MOP::Class->initialize(bless {} => 'Foo'); @@ -26,16 +22,16 @@ BEGIN { { dies_ok { - Class::MOP::Class->construct_class_instance(); - } '... construct_class_instance requires an :package parameter'; - + 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'; - + 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'; + Class::MOP::Class->_construct_class_instance(':package' => ''); + } '... _construct_class_instance requires a valid :package parameter'; } @@ -43,72 +39,50 @@ BEGIN { dies_ok { Class::MOP::Class->create(); } '... create requires an package_name parameter'; - + dies_ok { Class::MOP::Class->create(undef); - } '... create requires a defined package_name parameter'; - + } '... create requires a defined package_name parameter'; + dies_ok { Class::MOP::Class->create(''); - } '... create requires a valid package_name parameter'; - + } '... create requires a valid package_name parameter'; + throws_ok { 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 { Class::MOP::Class->clone_object(1); } '... can only clone instances'; - - dies_ok { - Class::MOP::Class->clone_instance(1); - } '... can only clone instances'; } { dies_ok { Class::MOP::Class->add_method(); } '... add_method dies as expected'; - + dies_ok { Class::MOP::Class->add_method(''); - } '... add_method dies as expected'; + } '... add_method dies as expected'; dies_ok { 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'; - - 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'; + Class::MOP::Class->add_method('foo' => []); + } '... add_method dies as expected'; } { dies_ok { Class::MOP::Class->has_method(); } '... has_method dies as expected'; - + dies_ok { Class::MOP::Class->has_method(''); } '... has_method dies as expected'; @@ -118,7 +92,7 @@ BEGIN { dies_ok { Class::MOP::Class->get_method(); } '... get_method dies as expected'; - + dies_ok { Class::MOP::Class->get_method(''); } '... get_method dies as expected'; @@ -128,7 +102,7 @@ BEGIN { dies_ok { Class::MOP::Class->remove_method(); } '... remove_method dies as expected'; - + dies_ok { Class::MOP::Class->remove_method(''); } '... remove_method dies as expected'; @@ -138,7 +112,7 @@ BEGIN { dies_ok { Class::MOP::Class->find_all_methods_by_name(); } '... find_all_methods_by_name dies as expected'; - + dies_ok { Class::MOP::Class->find_all_methods_by_name(''); } '... find_all_methods_by_name dies as expected'; @@ -155,7 +129,7 @@ BEGIN { dies_ok { Class::MOP::Class->has_attribute(); } '... has_attribute dies as expected'; - + dies_ok { Class::MOP::Class->has_attribute(''); } '... has_attribute dies as expected'; @@ -165,7 +139,7 @@ BEGIN { dies_ok { Class::MOP::Class->get_attribute(); } '... get_attribute dies as expected'; - + dies_ok { Class::MOP::Class->get_attribute(''); } '... get_attribute dies as expected'; @@ -175,7 +149,7 @@ BEGIN { dies_ok { Class::MOP::Class->remove_attribute(); } '... remove_attribute dies as expected'; - + dies_ok { Class::MOP::Class->remove_attribute(''); } '... remove_attribute dies as expected'; @@ -185,23 +159,23 @@ BEGIN { dies_ok { Class::MOP::Class->add_package_symbol(); } '... add_package_symbol dies as expected'; - + dies_ok { Class::MOP::Class->add_package_symbol(''); } '... add_package_symbol dies as expected'; - + dies_ok { Class::MOP::Class->add_package_symbol('foo'); - } '... add_package_symbol dies as expected'; - + } '... add_package_symbol dies as expected'; + dies_ok { Class::MOP::Class->add_package_symbol('&foo'); - } '... add_package_symbol dies as expected'; - + } '... 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'; } { @@ -215,11 +189,7 @@ BEGIN { dies_ok { Class::MOP::Class->has_package_symbol('foo'); - } '... has_package_symbol dies as expected'; - - dies_ok { - Class::MOP::Class->has_package_symbol('&foo'); - } '... has_package_symbol dies as expected'; + } '... has_package_symbol dies as expected'; } { @@ -233,11 +203,7 @@ BEGIN { dies_ok { Class::MOP::Class->get_package_symbol('foo'); - } '... get_package_symbol dies as expected'; - - dies_ok { - Class::MOP::Class->get_package_symbol('&foo'); - } '... get_package_symbol dies as expected'; + } '... get_package_symbol dies as expected'; } { @@ -251,10 +217,7 @@ BEGIN { dies_ok { Class::MOP::Class->remove_package_symbol('foo'); - } '... remove_package_symbol dies as expected'; - - dies_ok { - Class::MOP::Class->remove_package_symbol('&foo'); - } '... remove_package_symbol dies as expected'; + } '... remove_package_symbol dies as expected'; } +done_testing;