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