I'm trying to use a mock to return a hash so that #each_pair can process it. I can't get it to work. Whatever I return to #each_pair is ignored and the block never gets executed. Here's an example illustrating the problem.
require File.join(File.dirname(__FILE__), %w[spec_helper]) class MyExample attr_reader :result def example(data) data.each_pair do |key, value| @result = {key => value} end end end describe MyExample, "mock#each_pair fails" do it "should return a hash after processing the mock using each_pair" do sample_mock = mock("sample") real_hash = {:key => :value} sample_mock.should_receive(:each_pair).once.and_return(real_hash) obj = MyExample.new obj.example(sample_mock) obj.result.should == real_hash end end I tried returning different things in case the hash was the wrong intermediate. I tried: #and_return([:key, :value]) #and_return([[:key, :value]]) #and_return(:key, :value) None worked. Is this a bug or am I misusing mocks? cr _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users