diff options
Diffstat (limited to 'spec/ruby/core/method/receiver_spec.rb')
| -rw-r--r-- | spec/ruby/core/method/receiver_spec.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/ruby/core/method/receiver_spec.rb b/spec/ruby/core/method/receiver_spec.rb new file mode 100644 index 0000000000..315a08d288 --- /dev/null +++ b/spec/ruby/core/method/receiver_spec.rb @@ -0,0 +1,22 @@ +require_relative '../../spec_helper' +require_relative 'fixtures/classes' + +describe "Method#receiver" do + it "returns the receiver of the method" do + s = "abc" + s.method(:upcase).receiver.should.equal?(s) + end + + it "returns the right receiver even when aliased" do + obj = MethodSpecs::Methods.new + obj.method(:foo).receiver.should.equal?(obj) + obj.method(:bar).receiver.should.equal?(obj) + end + + describe "for a Method generated by respond_to_missing?" do + it "returns the receiver of the method" do + m = MethodSpecs::Methods.new + m.method(:handled_via_method_missing).receiver.should.equal?(m) + end + end +end |
