[Rubycocoa-devel 1315] Re: fails test_equality_of_a_objc_object_that_has_been_instantiated_from_a_nib

Back to archive index

Eloy Duran e.dur****@super*****
Mon Feb 11 18:50:40 JST 2008


Indeed I added this testcase so you (Laurent) wouldn't forget about  
it, due to you moving etc :)
Anyways, thanks Kimura-san for the fix!

Cheers,
Eloy

On 10 feb 2008, at 08:04, Laurent Sansonetti wrote:

> This test was apparently added in the hope the problem could be fixed.
>
> Object caching is a difficult problem, there are so many different use
> cases that we need to take into account (and some of them are not in
> the tests, unfortunately, but in samples or applications).
>
> I don't remember why Qfalse was specifically passed when converting
> method arguments... I fixed them in both places as you suggested (in
> r2189), and tried all samples successfully. All tests except those in
> tc_activerecord.rb are passing too.
>
> We should try other RubyCocoa applications and see if this change
> doesn't break them. LimeChat is a good one, it seems at least to start
> and behave as before.
>
> Laurent
>
> On Feb 9, 2008, at 10:27 PM, kimura wataru wrote:
>
>> Hi,
>>
>> RubyCocoa trunk(r2188) fails in test/tc_uniqobj.rb.
>>
>> % ruby install.rb test --test-args=--testcase=TC_UniqObject
>>   1) Failure:
>>
>> test_equality_of_a_objc_object_that_has_been_instantiated_from_a_nib
>> (TC_UniqO
>> bject) [./tc_uniqobj.rb:96]:
>> <false> is not true.
>>
>> 6 tests, 15 assertions, 1 failures, 0 errors
>> test failed
>>
>> This failure caused RubyCocoa do not cache ObjC obejct passed as
>> arguments from ObjC world.
>> The following change will solve this. I guess ovmix_ffi_closure()
>> in OverrideMixin.m has the same problem.
>>
>> ===================================================================
>> --- framework/src/objc/RBObject.m	(revision 2188)
>> +++ framework/src/objc/RBObject.m	(working copy)
>> @@ -142,7 +142,7 @@
>>
>>    RBOBJ_LOG("arg[%d] of type '%s'", i, octstr);
>>    [an_inv getArgument: ocdata atIndex: (i+2)];
>> -    f_conv_success = ocdata_to_rbobj(Qfalse, octstr, ocdata,
>> &arg_val, NO);
>> +    f_conv_success = ocdata_to_rbobj(Qnil, octstr, ocdata,
>> &arg_val, NO);
>>    if (f_conv_success == NO) {
>>      arg_val = Qnil;
>>    }
>>
>> _______________________________________________
>> Rubycocoa-devel mailing list
>> Rubyc****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel
>
> _______________________________________________
> Rubycocoa-devel mailing list
> Rubyc****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel




More information about the Rubycocoa-devel mailing list
Back to archive index