On Wed, Jan 14, 2009 at 5:07 AM, Maurício Linhares
<mauricio.linha...@gmail.com> wrote:
> "eql?" matches object references, you should use "==" to match equality.

eql? acts differently in different situations. equal? is the one you
should use for object references if you want any consistency.

>
> -
> Maurício Linhares
> http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/ (en)
>
>
>
> On Thu, Jan 8, 2009 at 1:26 PM, Leandro Pedroni <ilpo...@gmail.com> wrote:
>> rspec 1.1.11 and it's rails sidekick.
>>
>> After writing a few specs for an object I created that inherits form
>> an Hash I noticed that eql wasn't matching hashes that where actually
>> matching (I'm pretty sure it worked fine before):
>>
>>  {:foo => 0, :bar => 1}.should eql({:foo => 0, :bar => 1})
>>  # => expected {:foo=>0, :bar=>1}, got {:foo=>0, :bar=>1}
>> (using .eql?)
>>
>>  h={:foo => 0, :bar => 1}
>>  h.should eql(h)
>>  # => pass
>>
>> by the way == still works:
>>  ({:foo => 0, :bar => 1} == {:foo => 0, :bar => 1}).should
>>  # => Still passes
>>
>> It works ok with everything else...
>> I obviously did something wrong. Any clue? Where should I look?
>>
>> Cheers
>> _______________________________________________
>> rspec-users mailing list
>> rspec-users@rubyforge.org
>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to