Allow metaclasses to be reinitialized from an existing metaclass, instead of only...
[gitmo/Class-MOP.git] / t / 016_class_errors_and_edge_cases.t
index a141133..df5fe2a 100644 (file)
@@ -1,14 +1,10 @@
-#!/usr/bin/perl
-
 use strict;
 use warnings;
 
-use Test::More tests => 52;
+use Test::More tests => 43;
 use Test::Exception;
 
-BEGIN {
-    use_ok('Class::MOP');
-}
+use Class::MOP;
 
 {
     dies_ok {
@@ -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'; 
 }
 
 
@@ -62,10 +58,6 @@ BEGIN {
     dies_ok {
         Class::MOP::Class->clone_object(1);
     } '... can only clone instances';
-    
-    dies_ok {
-        Class::MOP::Class->clone_instance(1);
-    } '... can only clone instances';    
 }
 
 {
@@ -88,24 +80,6 @@ BEGIN {
 
 {
     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';     
-}
-
-{
-    dies_ok {
         Class::MOP::Class->has_method();
     } '... has_method dies as expected';
     
@@ -183,78 +157,66 @@ 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';      
+        Class::MOP::Class->add_package_symbol('&foo');
+    } '... add_package_symbol dies as expected';      
     
 #    throws_ok {
-#        Class::MOP::Class->meta->add_package_variable('@-');
+#        Class::MOP::Class->meta->add_package_symbol('@-');
 #    } qr/^Could not create package variable \(\@\-\) because/, 
-#      '... add_package_variable dies as expected';    
+#      '... 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';  
 }