Freeze of object with stub methods causes "can't modify frozen Class"
Created by: jcoyne
it "should allow calling freeze" do
class Bar
def stuff
freeze
end
end
b1 = Bar.new
b1.should_receive(:stuff).and_call_original
b1.stuff
end
Causes:
Failure/Error: Unable to find matching line from backtrace
RuntimeError:
can't modify frozen Class
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/method_double.rb:190:in `remove_method'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/method_double.rb:190:in `restore_original_method'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/method_double.rb:210:in `reset'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/proxy.rb:119:in `block in reset'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/proxy.rb:119:in `each'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/proxy.rb:119:in `reset'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/proxy.rb:114:in `verify'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/space.rb:14:in `block in verify_all'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/space.rb:13:in `each_value'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks/space.rb:13:in `verify_all'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-mocks-2.14.4/lib/rspec/mocks.rb:18:in `verify'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/mocking/with_rspec.rb:18:in `verify_mocks_for_rspec'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/example.rb:307:in `verify_mocks'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/example.rb:299:in `run_after_each'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/example.rb:120:in `block in run'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/example.rb:254:in `with_around_each_hooks'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/example.rb:111:in `run'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/example_group.rb:390:in `block in run_examples'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/example_group.rb:386:in `map'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/example_group.rb:386:in `run_examples'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/example_group.rb:371:in `run'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/command_line.rb:28:in `block (2 levels) in run'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/command_line.rb:28:in `map'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/command_line.rb:28:in `block in run'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/reporter.rb:58:in `report'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/command_line.rb:25:in `run'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/runner.rb:80:in `run'
# /Users/justin/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.7/lib/rspec/core/runner.rb:17:in `block in autorun'