4 use Test::More tests => 43;
11 Class::MOP::Class->initialize();
12 } '... initialize requires a name parameter';
15 Class::MOP::Class->initialize('');
16 } '... initialize requires a name valid parameter';
19 Class::MOP::Class->initialize(bless {} => 'Foo');
20 } '... initialize requires an unblessed parameter'
25 Class::MOP::Class->_construct_class_instance();
26 } '... _construct_class_instance requires an :package parameter';
29 Class::MOP::Class->_construct_class_instance(':package' => undef);
30 } '... _construct_class_instance requires a defined :package parameter';
33 Class::MOP::Class->_construct_class_instance(':package' => '');
34 } '... _construct_class_instance requires a valid :package parameter';
40 Class::MOP::Class->create();
41 } '... create requires an package_name parameter';
44 Class::MOP::Class->create(undef);
45 } '... create requires a defined package_name parameter';
48 Class::MOP::Class->create('');
49 } '... create requires a valid package_name parameter';
52 Class::MOP::Class->create('+++');
53 } qr/^creation of \+\+\+ failed/, '... create requires a valid package_name parameter';
59 Class::MOP::Class->clone_object(1);
60 } '... can only clone instances';
65 Class::MOP::Class->add_method();
66 } '... add_method dies as expected';
69 Class::MOP::Class->add_method('');
70 } '... add_method dies as expected';
73 Class::MOP::Class->add_method('foo' => 'foo');
74 } '... add_method dies as expected';
77 Class::MOP::Class->add_method('foo' => []);
78 } '... add_method dies as expected';
83 Class::MOP::Class->has_method();
84 } '... has_method dies as expected';
87 Class::MOP::Class->has_method('');
88 } '... has_method dies as expected';
93 Class::MOP::Class->get_method();
94 } '... get_method dies as expected';
97 Class::MOP::Class->get_method('');
98 } '... get_method dies as expected';
103 Class::MOP::Class->remove_method();
104 } '... remove_method dies as expected';
107 Class::MOP::Class->remove_method('');
108 } '... remove_method dies as expected';
113 Class::MOP::Class->find_all_methods_by_name();
114 } '... find_all_methods_by_name dies as expected';
117 Class::MOP::Class->find_all_methods_by_name('');
118 } '... find_all_methods_by_name dies as expected';
123 Class::MOP::Class->add_attribute(bless {} => 'Foo');
124 } '... add_attribute dies as expected';
130 Class::MOP::Class->has_attribute();
131 } '... has_attribute dies as expected';
134 Class::MOP::Class->has_attribute('');
135 } '... has_attribute dies as expected';
140 Class::MOP::Class->get_attribute();
141 } '... get_attribute dies as expected';
144 Class::MOP::Class->get_attribute('');
145 } '... get_attribute dies as expected';
150 Class::MOP::Class->remove_attribute();
151 } '... remove_attribute dies as expected';
154 Class::MOP::Class->remove_attribute('');
155 } '... remove_attribute dies as expected';
160 Class::MOP::Class->add_package_symbol();
161 } '... add_package_symbol dies as expected';
164 Class::MOP::Class->add_package_symbol('');
165 } '... add_package_symbol dies as expected';
168 Class::MOP::Class->add_package_symbol('foo');
169 } '... add_package_symbol dies as expected';
172 Class::MOP::Class->add_package_symbol('&foo');
173 } '... add_package_symbol dies as expected';
176 # Class::MOP::Class->meta->add_package_symbol('@-');
177 # } qr/^Could not create package variable \(\@\-\) because/,
178 # '... add_package_symbol dies as expected';
183 Class::MOP::Class->has_package_symbol();
184 } '... has_package_symbol dies as expected';
187 Class::MOP::Class->has_package_symbol('');
188 } '... has_package_symbol dies as expected';
191 Class::MOP::Class->has_package_symbol('foo');
192 } '... has_package_symbol dies as expected';
197 Class::MOP::Class->get_package_symbol();
198 } '... get_package_symbol dies as expected';
201 Class::MOP::Class->get_package_symbol('');
202 } '... get_package_symbol dies as expected';
205 Class::MOP::Class->get_package_symbol('foo');
206 } '... get_package_symbol dies as expected';
211 Class::MOP::Class->remove_package_symbol();
212 } '... remove_package_symbol dies as expected';
215 Class::MOP::Class->remove_package_symbol('');
216 } '... remove_package_symbol dies as expected';
219 Class::MOP::Class->remove_package_symbol('foo');
220 } '... remove_package_symbol dies as expected';