diff --git a/spec/rspec/mocks/partial_double_spec.rb b/spec/rspec/mocks/partial_double_spec.rb index c9c0e4a5f..b861c0172 100644 --- a/spec/rspec/mocks/partial_double_spec.rb +++ b/spec/rspec/mocks/partial_double_spec.rb @@ -152,6 +152,34 @@ def self.inspect }.to fail_with(/MyClass/) end + it "formats an error message when inspect fails" do + klass = Struct.new(:name) do + def inspect + "" + end + end + + object = klass.new('foo') + + expect(object).to receive(:name).once.and_return('bar') + + object.name + + expect do + object.name + end.to raise_error( + RSpec::Mocks::MockExpectationError, + %|().name(no args)\n expected: 1 time with any arguments\n received: 2 times| + ) + + expect do + verify object + end.to raise_error( + RSpec::Mocks::MockExpectationError, + %|().name(*(any args))\n expected: 1 time with any arguments\n received: 2 times with any arguments| + ) + end + it "shares message expectations with clone" do expect(object).to receive(:foobar) twin = object.clone