summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-24 03:35:29 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-24 03:35:29 +0000
commit3c45a7899e239e7ece3c778d9f71e3be85fdfbed (patch)
tree6fef657de1a1751f08f92877a6d3fb469835c0c7 /spec
parentdc62793a910097b2bb6a48ce5b6669c3ddb934ed (diff)
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')
-rw-r--r--spec/rubyspec/library/delegate/delegator/eql_spec.rb30
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