Ticket #230: class.patch
File class.patch, 1.5 KB (added by ronaldws, 13 years ago) |
---|
-
t/pmc/class.t
17 17 =cut 18 18 19 19 20 .const int TESTS = 5320 .const int TESTS = 62 21 21 22 22 23 23 .sub 'main' :main … … 35 35 'attributes'() 36 36 'add_attribute'() 37 37 'set_attr/get_attr'() 38 # 'add_method'() # TODO not yet implemented 38 'add_method'() 39 39 'parents'() 40 40 'roles'() 41 41 'inspect'() … … 217 217 218 218 219 219 # L<PDD15/Class PMC API/=item add_method> 220 .sub 'add_method' # todo => 'not yet implemented'221 .local pmc class, attribs, meth_to_add, test_attr_val 220 .sub 'add_method' 221 .local pmc class, attribs, meth_to_add, test_attr_val, obj_inst 222 222 .local int test_val 223 223 class = new ['Class'] 224 224 … … 263 263 264 264 .local string test_string_val 265 265 266 $I0 = 1 267 push_eh t_class_meth 266 268 test_string_val = class.'foo'() 269 $I0 = 0 270 pop_eh 271 267 272 is(test_string_val, 'bar', 'add_method() invoking method added to class works') 273 t_class_meth: 274 todo(0, 'add_method() invoking method added to class works', "classes don't seem to call methods yet") 268 275 276 obj_inst = class.'new'() 277 test_string_val = obj_inst.'foo'() 278 is(test_string_val, 'bar', 'add_method() invoking method added to class through instance works') 279 280 269 281 $I0 = 1 270 282 push_eh t_existing_method 271 283 class.'add_method'( 'foo' ) … … 277 289 .end 278 290 279 291 .sub 'foo' :method 280 .return (' foo')292 .return ('bar') 281 293 .end 282 294 283 295