diff options
author | Jeremy Evans <code@jeremyevans.net> | 2019-06-08 20:27:49 -0700 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2019-06-08 20:31:12 -0700 |
commit | 66508992483ae5d77b56a98427c50c772341c0ac (patch) | |
tree | 4d2a35cb87edcfe7b9437105d19e93e82f835e36 /test | |
parent | a432c014c99eb44b3f446aa43c7e83c945d3ec8e (diff) | |
download | ruby-66508992483ae5d77b56a98427c50c772341c0ac.tar.gz |
Make Resolv::DNS#each_name accept Resolv::IPv{4,6} arguments
These arguments were previously documented as supported, but not
actually supported.
Patch from Toru Iwase
Fixes [Bug #15900]
Diffstat (limited to 'test')
-rw-r--r-- | test/resolv/test_dns.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/resolv/test_dns.rb b/test/resolv/test_dns.rb index 669d86bd83..fe1ab6ce79 100644 --- a/test/resolv/test_dns.rb +++ b/test/resolv/test_dns.rb @@ -265,4 +265,28 @@ class TestResolvDNS < Test::Unit::TestCase def test_no_fd_leak_unconnected assert_no_fd_leak {Resolv::DNS.new} end + + def test_each_name + dns = Resolv::DNS.new + def dns.each_resource(name, typeclass) + yield typeclass.new(name) + end + + dns.each_name('127.0.0.1') do |ptr| + assert_equal('1.0.0.127.in-addr.arpa', ptr.to_s) + end + dns.each_name(Resolv::IPv4.create('127.0.0.1')) do |ptr| + assert_equal('1.0.0.127.in-addr.arpa', ptr.to_s) + end + dns.each_name('::1') do |ptr| + assert_equal('1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa', ptr.to_s) + end + dns.each_name(Resolv::IPv6.create('::1')) do |ptr| + assert_equal('1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa', ptr.to_s) + end + dns.each_name(Resolv::DNS::Name.create('1.0.0.127.in-addr.arpa.')) do |ptr| + assert_equal('1.0.0.127.in-addr.arpa', ptr.to_s) + end + assert_raise(Resolv::ResolvError) { dns.each_name('example.com') } + end end |