Sha256: c0611eb7e23bb51aae523f0442b3872c6013357a2440310746f49906611e4de6
Contents?: true
Size: 852 Bytes
Versions: 4
Compression:
Stored size: 852 Bytes
Contents
dir = File.dirname(__FILE__) require "#{dir}/../example_helper" module RR describe Double, "#bind with an existing method" do before do @space = Space.new @object = Object.new @method_name = :foobar def @object.foobar; :original_foobar; end @object.methods.should include(@method_name.to_s) @double = Double.new(@space, @object, @method_name) end it "overrides the original method with the double's dispatching methods" do @object.respond_to?(:__rr__foobar).should == false @double.bind @object.respond_to?(:__rr__foobar).should == true rr_foobar_called = false (class << @object; self; end).class_eval do define_method :__rr__foobar do rr_foobar_called = true end end rr_foobar_called.should == false @object.foobar rr_foobar_called.should == true end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rr-0.1.6 | examples/rr/double_bind_example.rb |
rr-0.1.5 | examples/rr/double_bind_example.rb |
rr-0.1.3 | examples/rr/double_bind_example.rb |
rr-0.1.4 | examples/rr/double_bind_example.rb |