mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
merge revision(s) 49620: [Backport #10857]
* lib/resolv.rb (Resolv::DNS::Resource#==, #hash): elements returned by Kernel#instance_variables are Symbols now. [ruby-core:68128] [Bug #10857] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
eef3f0d94c
commit
00088b97ec
4 changed files with 31 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Tue Feb 17 18:57:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* lib/resolv.rb (Resolv::DNS::Resource#==, #hash): elements
|
||||||
|
returned by Kernel#instance_variables are Symbols now.
|
||||||
|
[ruby-core:68128] [Bug #10857]
|
||||||
|
|
||||||
Tue Feb 17 15:39:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Tue Feb 17 15:39:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* ext/win32/lib/win32/registry.rb (Win32::Registry::API): use wide
|
* ext/win32/lib/win32/registry.rb (Win32::Registry::API): use wide
|
||||||
|
|
|
@ -1666,10 +1666,10 @@ class Resolv
|
||||||
return false unless self.class == other.class
|
return false unless self.class == other.class
|
||||||
s_ivars = self.instance_variables
|
s_ivars = self.instance_variables
|
||||||
s_ivars.sort!
|
s_ivars.sort!
|
||||||
s_ivars.delete "@ttl"
|
s_ivars.delete :@ttl
|
||||||
o_ivars = other.instance_variables
|
o_ivars = other.instance_variables
|
||||||
o_ivars.sort!
|
o_ivars.sort!
|
||||||
o_ivars.delete "@ttl"
|
o_ivars.delete :@ttl
|
||||||
return s_ivars == o_ivars &&
|
return s_ivars == o_ivars &&
|
||||||
s_ivars.collect {|name| self.instance_variable_get name} ==
|
s_ivars.collect {|name| self.instance_variable_get name} ==
|
||||||
o_ivars.collect {|name| other.instance_variable_get name}
|
o_ivars.collect {|name| other.instance_variable_get name}
|
||||||
|
@ -1682,7 +1682,7 @@ class Resolv
|
||||||
def hash # :nodoc:
|
def hash # :nodoc:
|
||||||
h = 0
|
h = 0
|
||||||
vars = self.instance_variables
|
vars = self.instance_variables
|
||||||
vars.delete "@ttl"
|
vars.delete :@ttl
|
||||||
vars.each {|name|
|
vars.each {|name|
|
||||||
h ^= self.instance_variable_get(name).hash
|
h ^= self.instance_variable_get(name).hash
|
||||||
}
|
}
|
||||||
|
|
21
test/resolv/test_resource.rb
Normal file
21
test/resolv/test_resource.rb
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
require 'test/unit'
|
||||||
|
require 'resolv'
|
||||||
|
|
||||||
|
class TestResolvResource < Test::Unit::TestCase
|
||||||
|
def setup
|
||||||
|
address = "192.168.0.1"
|
||||||
|
@name1 = Resolv::DNS::Resource::IN::A.new(address)
|
||||||
|
@name1.instance_variable_set(:@ttl, 100)
|
||||||
|
@name2 = Resolv::DNS::Resource::IN::A.new(address)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_equality
|
||||||
|
bug10857 = '[ruby-core:68128] [Bug #10857]'
|
||||||
|
assert_equal(@name1, @name2, bug10857)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_hash
|
||||||
|
bug10857 = '[ruby-core:68128] [Bug #10857]'
|
||||||
|
assert_equal(@name1.hash, @name2.hash, bug10857)
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,6 +1,6 @@
|
||||||
#define RUBY_VERSION "2.2.0"
|
#define RUBY_VERSION "2.2.0"
|
||||||
#define RUBY_RELEASE_DATE "2015-02-17"
|
#define RUBY_RELEASE_DATE "2015-02-17"
|
||||||
#define RUBY_PATCHLEVEL 51
|
#define RUBY_PATCHLEVEL 52
|
||||||
|
|
||||||
#define RUBY_RELEASE_YEAR 2015
|
#define RUBY_RELEASE_YEAR 2015
|
||||||
#define RUBY_RELEASE_MONTH 2
|
#define RUBY_RELEASE_MONTH 2
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue