6 use Test::More tests => 48;
13 Class::MOP::Class->initialize();
14 } '... initialize requires a name parameter';
17 Class::MOP::Class->initialize('');
18 } '... initialize requires a name valid parameter';
21 Class::MOP::Class->initialize(bless {} => 'Foo');
22 } '... initialize requires an unblessed parameter'
27 Class::MOP::Class->construct_class_instance();
28 } '... construct_class_instance requires an :package parameter';
31 Class::MOP::Class->construct_class_instance(':package' => undef);
32 } '... construct_class_instance requires a defined :package parameter';
35 Class::MOP::Class->construct_class_instance(':package' => '');
36 } '... construct_class_instance requires a valid :package parameter';
42 Class::MOP::Class->create();
43 } '... create requires an package_name parameter';
46 Class::MOP::Class->create(undef);
47 } '... create requires a defined package_name parameter';
50 Class::MOP::Class->create('');
51 } '... create requires a valid package_name parameter';
54 Class::MOP::Class->create('+++');
55 } qr/^creation of \+\+\+ failed/, '... create requires a valid package_name parameter';
61 Class::MOP::Class->clone_object(1);
62 } '... can only clone instances';
65 Class::MOP::Class->clone_instance(1);
66 } '... can only clone instances';
71 Class::MOP::Class->add_method();
72 } '... add_method dies as expected';
75 Class::MOP::Class->add_method('');
76 } '... add_method dies as expected';
79 Class::MOP::Class->add_method('foo' => 'foo');
80 } '... add_method dies as expected';
83 Class::MOP::Class->add_method('foo' => []);
84 } '... add_method dies as expected';
89 Class::MOP::Class->alias_method();
90 } '... alias_method dies as expected';
93 Class::MOP::Class->alias_method('');
94 } '... alias_method dies as expected';
97 Class::MOP::Class->alias_method('foo' => 'foo');
98 } '... alias_method dies as expected';
101 Class::MOP::Class->alias_method('foo' => []);
102 } '... alias_method dies as expected';
107 Class::MOP::Class->has_method();
108 } '... has_method dies as expected';
111 Class::MOP::Class->has_method('');
112 } '... has_method dies as expected';
117 Class::MOP::Class->get_method();
118 } '... get_method dies as expected';
121 Class::MOP::Class->get_method('');
122 } '... get_method dies as expected';
127 Class::MOP::Class->remove_method();
128 } '... remove_method dies as expected';
131 Class::MOP::Class->remove_method('');
132 } '... remove_method dies as expected';
137 Class::MOP::Class->find_all_methods_by_name();
138 } '... find_all_methods_by_name dies as expected';
141 Class::MOP::Class->find_all_methods_by_name('');
142 } '... find_all_methods_by_name dies as expected';
147 Class::MOP::Class->add_attribute(bless {} => 'Foo');
148 } '... add_attribute dies as expected';
154 Class::MOP::Class->has_attribute();
155 } '... has_attribute dies as expected';
158 Class::MOP::Class->has_attribute('');
159 } '... has_attribute dies as expected';
164 Class::MOP::Class->get_attribute();
165 } '... get_attribute dies as expected';
168 Class::MOP::Class->get_attribute('');
169 } '... get_attribute dies as expected';
174 Class::MOP::Class->remove_attribute();
175 } '... remove_attribute dies as expected';
178 Class::MOP::Class->remove_attribute('');
179 } '... remove_attribute dies as expected';
184 Class::MOP::Class->add_package_symbol();
185 } '... add_package_symbol dies as expected';
188 Class::MOP::Class->add_package_symbol('');
189 } '... add_package_symbol dies as expected';
192 Class::MOP::Class->add_package_symbol('foo');
193 } '... add_package_symbol dies as expected';
196 Class::MOP::Class->add_package_symbol('&foo');
197 } '... add_package_symbol dies as expected';
200 # Class::MOP::Class->meta->add_package_symbol('@-');
201 # } qr/^Could not create package variable \(\@\-\) because/,
202 # '... add_package_symbol dies as expected';
207 Class::MOP::Class->has_package_symbol();
208 } '... has_package_symbol dies as expected';
211 Class::MOP::Class->has_package_symbol('');
212 } '... has_package_symbol dies as expected';
215 Class::MOP::Class->has_package_symbol('foo');
216 } '... has_package_symbol dies as expected';
221 Class::MOP::Class->get_package_symbol();
222 } '... get_package_symbol dies as expected';
225 Class::MOP::Class->get_package_symbol('');
226 } '... get_package_symbol dies as expected';
229 Class::MOP::Class->get_package_symbol('foo');
230 } '... get_package_symbol dies as expected';
235 Class::MOP::Class->remove_package_symbol();
236 } '... remove_package_symbol dies as expected';
239 Class::MOP::Class->remove_package_symbol('');
240 } '... remove_package_symbol dies as expected';
243 Class::MOP::Class->remove_package_symbol('foo');
244 } '... remove_package_symbol dies as expected';