diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-06-24 03:35:29 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-06-24 03:35:29 +0000 |
commit | 6c5b0491c538a28f44a35de6af8ac78c90987d45 (patch) | |
tree | 6fef657de1a1751f08f92877a6d3fb469835c0c7 /spec/rubyspec | |
parent | 0d55d9bfeaaf1494b1321bd8946a3aa29b664fea (diff) | |
download | ruby-6c5b0491c538a28f44a35de6af8ac78c90987d45.tar.gz |
Delegate to `eql?` [Fix GH-1564]
* lib/delegate.rb (eql?): Delegate to `eql?` of the inner object.
based on the patch by giginet <giginet.net@gmail.com>.
[ruby-core:76950] [Bug #12684]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec/rubyspec')
-rw-r--r-- | spec/rubyspec/library/delegate/delegator/eql_spec.rb | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/spec/rubyspec/library/delegate/delegator/eql_spec.rb b/spec/rubyspec/library/delegate/delegator/eql_spec.rb index 937629f73e..7d101eb262 100644 --- a/spec/rubyspec/library/delegate/delegator/eql_spec.rb +++ b/spec/rubyspec/library/delegate/delegator/eql_spec.rb @@ -2,10 +2,34 @@ require File.expand_path('../../../../spec_helper', __FILE__) require File.expand_path('../../fixtures/classes', __FILE__) describe "Delegator#eql?" do - it "is delegated" do + it "returns true when compared with same delegator" do base = mock('base') delegator = DelegateSpecs::Delegator.new(base) - base.should_receive(:eql?).with(42).and_return(:foo) - delegator.eql?(42).should == :foo + + delegator.eql?(delegator).should be_true + end + + it "returns true when compared with the inner object" do + base = mock('base') + delegator = DelegateSpecs::Delegator.new(base) + + delegator.eql?(base).should be_true + end + + it "returns false when compared with the delegator with other object" do + base = mock('base') + other = mock('other') + delegator0 = DelegateSpecs::Delegator.new(base) + delegator1 = DelegateSpecs::Delegator.new(other) + + delegator0.eql?(delegator1).should be_false + end + + it "returns false when compared with the other object" do + base = mock('base') + other = mock('other') + delegator = DelegateSpecs::Delegator.new(base) + + delegator.eql?(other).should be_false end end |