On 27/01/2009, at 11:03 AM, Nick Hoffman wrote:
Hey guys. I've just found some odd behaviour within RSpec 1.1.12 ,
and would like to know whether this is a bug, or I'm doing something
wrong.
When I give multiple return values to a stub, like this:
SubtitleFile.stub!(:new).and_return @sf1, @sf2
RSpec complains:
Mock 'SubtitleFile_1001' received unexpected message :size with (no
args)
However, if I break that into two stubs, like this:
SubtitleFile.stub!(:new).and_return @sf1
SubtitleFile.stub!(:new).and_return @sf2
the spec passes.
I've posted a more concrete example here:
http://gist.github.com/53389
In code pane #2, if I comment line 13 and uncomment lines 14 and 15,
the spec passes.
Any idea what's going on? Thanks for your help,
Nick
I've managed to cut even more code from the controller and specs while
continuing to reproduce the problem:
http://gist.github.com/53389
If I change this line:
SubtitleFile.stub!(:new).and_return @sf1, @sf2
to this:
SubtitleFile.stub!(:new).and_return @sf1
then the problem disappears.
Why does providing a second argument to #and_return cause #size to be
called on the "@sf1" mock?
Thanks in advance for any help with this, guys.
Nick
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users