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=topic%2Fload_empty_class;hp=ec90053ef4f72a835a6a8e506c883026d9a607a3;hpb=222860635b059db73389c69475bccc62dfa753a4;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 ec90053..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 => 53; +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'; @@ -183,78 +157,67 @@ BEGIN { { dies_ok { - Class::MOP::Class->add_package_variable(); - } '... add_package_variable dies as expected'; - + Class::MOP::Class->add_package_symbol(); + } '... add_package_symbol dies as expected'; + dies_ok { - Class::MOP::Class->add_package_variable(''); - } '... add_package_variable dies as expected'; - + Class::MOP::Class->add_package_symbol(''); + } '... add_package_symbol dies as expected'; + dies_ok { - Class::MOP::Class->add_package_variable('foo'); - } '... add_package_variable dies as expected'; - + Class::MOP::Class->add_package_symbol('foo'); + } '... add_package_symbol dies as expected'; + dies_ok { - Class::MOP::Class->add_package_variable('&foo'); - } '... add_package_variable dies as expected'; - - throws_ok { - Class::MOP::Class->meta->add_package_variable('@-'); - } qr/^Could not create package variable \(\@\-\) because/, - '... add_package_variable dies as expected'; + Class::MOP::Class->add_package_symbol('&foo'); + } '... 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'; } { dies_ok { - Class::MOP::Class->has_package_variable(); - } '... has_package_variable dies as expected'; - - dies_ok { - Class::MOP::Class->has_package_variable(''); - } '... has_package_variable dies as expected'; + Class::MOP::Class->has_package_symbol(); + } '... has_package_symbol dies as expected'; dies_ok { - Class::MOP::Class->has_package_variable('foo'); - } '... has_package_variable dies as expected'; + Class::MOP::Class->has_package_symbol(''); + } '... has_package_symbol dies as expected'; dies_ok { - Class::MOP::Class->has_package_variable('&foo'); - } '... has_package_variable dies as expected'; + Class::MOP::Class->has_package_symbol('foo'); + } '... has_package_symbol dies as expected'; } { dies_ok { - Class::MOP::Class->get_package_variable(); - } '... get_package_variable dies as expected'; - - dies_ok { - Class::MOP::Class->get_package_variable(''); - } '... get_package_variable dies as expected'; + Class::MOP::Class->get_package_symbol(); + } '... get_package_symbol dies as expected'; dies_ok { - Class::MOP::Class->get_package_variable('foo'); - } '... get_package_variable dies as expected'; + Class::MOP::Class->get_package_symbol(''); + } '... get_package_symbol dies as expected'; dies_ok { - Class::MOP::Class->get_package_variable('&foo'); - } '... get_package_variable dies as expected'; + Class::MOP::Class->get_package_symbol('foo'); + } '... get_package_symbol dies as expected'; } { dies_ok { - Class::MOP::Class->remove_package_variable(); - } '... remove_package_variable dies as expected'; - - dies_ok { - Class::MOP::Class->remove_package_variable(''); - } '... remove_package_variable dies as expected'; + Class::MOP::Class->remove_package_symbol(); + } '... remove_package_symbol dies as expected'; dies_ok { - Class::MOP::Class->remove_package_variable('foo'); - } '... remove_package_variable dies as expected'; + Class::MOP::Class->remove_package_symbol(''); + } '... remove_package_symbol dies as expected'; dies_ok { - Class::MOP::Class->remove_package_variable('&foo'); - } '... remove_package_variable dies as expected'; + Class::MOP::Class->remove_package_symbol('foo'); + } '... remove_package_symbol dies as expected'; } +done_testing;