net-dns 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +6 -14
  2. data/.gitignore +1 -1
  3. data/.rspec +1 -0
  4. data/.rubocop.yml +3 -0
  5. data/.rubocop_defaults.yml +364 -0
  6. data/.rubocop_todo.yml +207 -0
  7. data/.travis.yml +9 -16
  8. data/CHANGELOG.md +12 -1
  9. data/Gemfile +6 -2
  10. data/LICENSE.txt +56 -0
  11. data/README.md +94 -77
  12. data/Rakefile +23 -56
  13. data/bin/console +14 -0
  14. data/demo/check_soa.rb +27 -38
  15. data/demo/threads.rb +3 -7
  16. data/lib/net/dns.rb +4 -11
  17. data/lib/net/dns/core_ext.rb +8 -15
  18. data/lib/net/dns/header.rb +58 -66
  19. data/lib/net/dns/names.rb +25 -23
  20. data/lib/net/dns/packet.rb +136 -139
  21. data/lib/net/dns/question.rb +36 -39
  22. data/lib/net/dns/resolver.rb +103 -113
  23. data/lib/net/dns/resolver/socks.rb +45 -51
  24. data/lib/net/dns/resolver/timeouts.rb +17 -26
  25. data/lib/net/dns/rr.rb +107 -117
  26. data/lib/net/dns/rr/a.rb +46 -55
  27. data/lib/net/dns/rr/aaaa.rb +40 -49
  28. data/lib/net/dns/rr/classes.rb +26 -29
  29. data/lib/net/dns/rr/cname.rb +33 -41
  30. data/lib/net/dns/rr/hinfo.rb +44 -56
  31. data/lib/net/dns/rr/mr.rb +33 -42
  32. data/lib/net/dns/rr/mx.rb +37 -47
  33. data/lib/net/dns/rr/ns.rb +33 -41
  34. data/lib/net/dns/rr/null.rb +8 -11
  35. data/lib/net/dns/rr/ptr.rb +14 -20
  36. data/lib/net/dns/rr/soa.rb +27 -30
  37. data/lib/net/dns/rr/srv.rb +13 -17
  38. data/lib/net/dns/rr/txt.rb +8 -11
  39. data/lib/net/dns/rr/types.rb +97 -99
  40. data/lib/net/dns/version.rb +5 -13
  41. data/net-dns.gemspec +17 -29
  42. data/{fixtures → spec/fixtures}/resolv.conf +0 -0
  43. data/spec/spec_helper.rb +14 -0
  44. data/spec/unit/resolver/dns_timeout_spec.rb +36 -0
  45. data/spec/unit/resolver/tcp_timeout_spec.rb +46 -0
  46. data/spec/unit/resolver/udp_timeout_spec.rb +46 -0
  47. data/test/test_helper.rb +12 -3
  48. data/test/{header_test.rb → unit/header_test.rb} +43 -46
  49. data/test/{names_test.rb → unit/names_test.rb} +1 -1
  50. data/test/{packet_test.rb → unit/packet_test.rb} +3 -5
  51. data/test/{question_test.rb → unit/question_test.rb} +3 -5
  52. data/test/{resolver_test.rb → unit/resolver_test.rb} +10 -13
  53. data/test/{rr → unit/rr}/a_test.rb +10 -17
  54. data/test/{rr → unit/rr}/aaaa_test.rb +7 -14
  55. data/test/{rr → unit/rr}/classes_test.rb +14 -16
  56. data/test/{rr → unit/rr}/cname_test.rb +7 -14
  57. data/test/{rr → unit/rr}/hinfo_test.rb +16 -22
  58. data/test/{rr → unit/rr}/mr_test.rb +12 -18
  59. data/test/{rr → unit/rr}/mx_test.rb +18 -24
  60. data/test/{rr → unit/rr}/ns_test.rb +10 -16
  61. data/test/{rr → unit/rr}/types_test.rb +10 -8
  62. data/test/{rr_test.rb → unit/rr_test.rb} +33 -37
  63. metadata +77 -49
  64. data/test/resolver/timeouts_test.rb +0 -109
@@ -1,16 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Net
2
4
  module DNS
3
- module Version
4
-
5
- MAJOR = 0
6
- MINOR = 8
7
- PATCH = 0
8
- BUILD = nil
9
-
10
- STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join(".")
11
- end
12
-
13
- VERSION = Version::STRING
14
-
5
+ # The current library version.
6
+ VERSION = "0.9.0".freeze
15
7
  end
16
- end
8
+ end
@@ -1,35 +1,23 @@
1
- # -*- encoding: utf-8 -*-
1
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
2
+ require "net/dns/version"
2
3
 
3
4
  Gem::Specification.new do |s|
4
- s.name = "net-dns"
5
- s.version = "0.8.0"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Marco Ceresa", "Simone Carletti"]
9
- s.date = "2013-05-08"
5
+ s.name = "net-dns"
6
+ s.version = Net::DNS::VERSION
7
+ s.authors = ["Marco Ceresa", "Simone Carletti"]
8
+ s.email = ["ceresa@gmail.com", "weppos@weppos.net"]
9
+ s.homepage = "http://github.com/bluemonk/net-dns"
10
+ s.summary = "Pure Ruby DNS library."
10
11
  s.description = "Net::DNS is a pure Ruby DNS library, with a clean OO interface and an extensible API."
11
- s.email = ["ceresa@gmail.com", "weppos@weppos.net"]
12
- s.files = [".gitignore", ".travis.yml", "CHANGELOG.md", "Gemfile", "README.md", "Rakefile", "THANKS.rdoc", "demo/check_soa.rb", "demo/threads.rb", "fixtures/resolv.conf", "lib/net/dns.rb", "lib/net/dns/core_ext.rb", "lib/net/dns/header.rb", "lib/net/dns/names.rb", "lib/net/dns/packet.rb", "lib/net/dns/question.rb", "lib/net/dns/resolver.rb", "lib/net/dns/resolver/socks.rb", "lib/net/dns/resolver/timeouts.rb", "lib/net/dns/rr.rb", "lib/net/dns/rr/a.rb", "lib/net/dns/rr/aaaa.rb", "lib/net/dns/rr/classes.rb", "lib/net/dns/rr/cname.rb", "lib/net/dns/rr/hinfo.rb", "lib/net/dns/rr/mr.rb", "lib/net/dns/rr/mx.rb", "lib/net/dns/rr/ns.rb", "lib/net/dns/rr/null.rb", "lib/net/dns/rr/ptr.rb", "lib/net/dns/rr/soa.rb", "lib/net/dns/rr/srv.rb", "lib/net/dns/rr/txt.rb", "lib/net/dns/rr/types.rb", "lib/net/dns/version.rb", "net-dns.gemspec", "test/header_test.rb", "test/names_test.rb", "test/packet_test.rb", "test/question_test.rb", "test/resolver/timeouts_test.rb", "test/resolver_test.rb", "test/rr/a_test.rb", "test/rr/aaaa_test.rb", "test/rr/classes_test.rb", "test/rr/cname_test.rb", "test/rr/hinfo_test.rb", "test/rr/mr_test.rb", "test/rr/mx_test.rb", "test/rr/ns_test.rb", "test/rr/types_test.rb", "test/rr_test.rb", "test/test_helper.rb"]
13
- s.homepage = "http://github.com/bluemonk/net-dns"
14
- s.require_paths = ["lib"]
15
- s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
16
- s.rubyforge_project = "net-dns"
17
- s.rubygems_version = "2.0.3"
18
- s.summary = "Pure Ruby DNS library."
19
- s.test_files = ["test/header_test.rb", "test/names_test.rb", "test/packet_test.rb", "test/question_test.rb", "test/resolver/timeouts_test.rb", "test/resolver_test.rb", "test/rr/a_test.rb", "test/rr/aaaa_test.rb", "test/rr/classes_test.rb", "test/rr/cname_test.rb", "test/rr/hinfo_test.rb", "test/rr/mr_test.rb", "test/rr/mx_test.rb", "test/rr/ns_test.rb", "test/rr/types_test.rb", "test/rr_test.rb", "test/test_helper.rb"]
20
12
 
21
- if s.respond_to? :specification_version then
22
- s.specification_version = 4
13
+ s.required_ruby_version = ">= 2.1"
14
+
15
+ s.require_paths = ["lib"]
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.extra_rdoc_files = %w[LICENSE.txt]
23
19
 
24
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
- s.add_development_dependency(%q<rake>, ["~> 10.0"])
26
- s.add_development_dependency(%q<yard>, [">= 0"])
27
- else
28
- s.add_dependency(%q<rake>, ["~> 10.0"])
29
- s.add_dependency(%q<yard>, [">= 0"])
30
- end
31
- else
32
- s.add_dependency(%q<rake>, ["~> 10.0"])
33
- s.add_dependency(%q<yard>, [">= 0"])
34
- end
20
+ s.add_development_dependency "mocha"
21
+ s.add_development_dependency "rake"
22
+ s.add_development_dependency "yard"
35
23
  end
File without changes
@@ -0,0 +1,14 @@
1
+ require 'rspec'
2
+ require 'net/dns'
3
+
4
+ unless defined?(SPEC_ROOT)
5
+ SPEC_ROOT = File.expand_path(__dir__)
6
+ end
7
+
8
+ # Requires supporting ruby files with custom matchers and macros, etc,
9
+ # in spec/support/ and its subdirectories.
10
+ Dir[File.join(SPEC_ROOT, "support/**/*.rb")].each { |f| require f }
11
+
12
+ RSpec.configure do |config|
13
+ config.mock_with :rspec
14
+ end
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+ require 'net/dns/resolver/timeouts'
3
+
4
+ describe Net::DNS::Resolver::DnsTimeout do
5
+ subject { described_class.new(10) }
6
+
7
+ describe "#initialize" do
8
+ it "returns an instance of DnsTimeout" do
9
+ expect(subject.class).to be(described_class)
10
+ end
11
+
12
+ it "sets timeout" do
13
+ expect(described_class.new(0).seconds).to eq(0)
14
+ expect(described_class.new(10).seconds).to eq(10)
15
+ end
16
+
17
+ it "raises ArgumentError when timeout is invalid" do
18
+ expect { described_class.new(nil) }.to raise_error(ArgumentError)
19
+ expect { described_class.new("") }.to raise_error(ArgumentError)
20
+ expect { described_class.new("foo") }.to raise_error(ArgumentError)
21
+ expect { described_class.new(-1) }.to raise_error(ArgumentError)
22
+ end
23
+ end
24
+
25
+ describe "#to_s" do
26
+ it "returns the seconds" do
27
+ expect(subject.to_s).to eq("10")
28
+ end
29
+ end
30
+
31
+ describe "#timeout" do
32
+ it "requires a block" do
33
+ expect { subject.timeout }.to raise_error(LocalJumpError)
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+ require 'net/dns/resolver/timeouts'
3
+
4
+ describe Net::DNS::Resolver::TcpTimeout do
5
+ subject { described_class.new(10) }
6
+
7
+ it "inherits from DnsTimeout" do
8
+ expect(described_class.ancestors).to include(Net::DNS::Resolver::DnsTimeout)
9
+ end
10
+
11
+ describe "#initialize" do
12
+ it "returns an instance of TcpTimeout" do
13
+ expect(subject.class).to be(described_class)
14
+ end
15
+
16
+ it "sets timeout" do
17
+ expect(described_class.new(0).seconds).to eq(0)
18
+ expect(described_class.new(10).seconds).to eq(10)
19
+ end
20
+
21
+ it "raises ArgumentError when timeout is invalid" do
22
+ expect { described_class.new(nil) }.to raise_error(ArgumentError)
23
+ expect { described_class.new("") }.to raise_error(ArgumentError)
24
+ expect { described_class.new("foo") }.to raise_error(ArgumentError)
25
+ expect { described_class.new(-1) }.to raise_error(ArgumentError)
26
+ end
27
+ end
28
+
29
+ describe "#to_s" do
30
+ it "returns infinite when seconds is 0" do
31
+ expect(described_class.new(0).to_s).to eq("infinite")
32
+ end
33
+
34
+ it "returns the seconds" do
35
+ expect(subject.to_s).to eq("10")
36
+ end
37
+ end
38
+
39
+ describe "#pretty_to_s" do
40
+ it "returns a more verbose version" do
41
+ expect(described_class.new(30).pretty_to_s).to eq("30 seconds")
42
+ expect(described_class.new(90).pretty_to_s).to eq("1 minutes and 30 seconds")
43
+ expect(described_class.new(3690).pretty_to_s).to eq("1 hours, 1 minutes and 30 seconds")
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+ require 'net/dns/resolver/timeouts'
3
+
4
+ describe Net::DNS::Resolver::UdpTimeout do
5
+ subject { described_class.new(10) }
6
+
7
+ it "inherits from DnsTimeout" do
8
+ expect(described_class.ancestors).to include(Net::DNS::Resolver::DnsTimeout)
9
+ end
10
+
11
+ describe "#initialize" do
12
+ it "returns an instance of TcpTimeout" do
13
+ expect(subject.class).to be(described_class)
14
+ end
15
+
16
+ it "sets timeout" do
17
+ expect(described_class.new(0).seconds).to eq(0)
18
+ expect(described_class.new(10).seconds).to eq(10)
19
+ end
20
+
21
+ it "raises ArgumentError when timeout is invalid" do
22
+ expect { described_class.new(nil) }.to raise_error(ArgumentError)
23
+ expect { described_class.new("") }.to raise_error(ArgumentError)
24
+ expect { described_class.new("foo") }.to raise_error(ArgumentError)
25
+ expect { described_class.new(-1) }.to raise_error(ArgumentError)
26
+ end
27
+ end
28
+
29
+ describe "#to_s" do
30
+ it "returns infinite when seconds is 0" do
31
+ expect(described_class.new(0).to_s).to eq("not defined")
32
+ end
33
+
34
+ it "returns the seconds" do
35
+ expect(subject.to_s).to eq("10")
36
+ end
37
+ end
38
+
39
+ describe "#pretty_to_s" do
40
+ it "returns a more verbose version" do
41
+ expect(described_class.new(30).pretty_to_s).to eq("30 seconds")
42
+ expect(described_class.new(90).pretty_to_s).to eq("1 minutes and 30 seconds")
43
+ expect(described_class.new(3690).pretty_to_s).to eq("1 hours, 1 minutes and 30 seconds")
44
+ end
45
+ end
46
+ end
@@ -1,4 +1,13 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../lib')
1
+ require "minitest/autorun"
2
+ require "minitest/reporters"
2
3
 
3
- require 'test/unit'
4
- require 'net/dns'
4
+ Minitest::Reporters.use! Minitest::Reporters::DefaultReporter.new(color: true)
5
+
6
+ $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
7
+ require "net/dns"
8
+
9
+ module Minitest::Assertions
10
+ def assert_nothing_raised(*)
11
+ yield
12
+ end
13
+ end
@@ -1,27 +1,26 @@
1
1
  require 'test_helper'
2
2
  require 'net/dns/header'
3
3
 
4
- class HeaderTest < Test::Unit::TestCase
4
+ class HeaderTest < Minitest::Test
5
5
  include Net::DNS
6
-
7
- def setup
8
6
 
7
+ def setup
9
8
  @default = Header.new
10
- @hash = Header.new(:id => 441,
11
- :qr => 1,
12
- :opCode => Header::IQUERY,
13
- :aa => 1,
14
- :tc => 1,
15
- :rd => 0,
16
- :cd => 0,
17
- :ad => 0,
18
- :ra => 1,
19
- :rCode => Header::RCode::FORMAT,
20
- :qdCount => 1,
21
- :anCount => 2,
22
- :nsCount => 3,
23
- :arCount => 3)
24
-
9
+ @hash = Header.new(id: 441,
10
+ qr: 1,
11
+ opCode: Header::IQUERY,
12
+ aa: 1,
13
+ tc: 1,
14
+ rd: 0,
15
+ cd: 0,
16
+ ad: 0,
17
+ ra: 1,
18
+ rCode: Header::RCode::FORMAT,
19
+ qdCount: 1,
20
+ anCount: 2,
21
+ nsCount: 3,
22
+ arCount: 3)
23
+
25
24
  @modified = Header.new
26
25
  @modified.id = 442
27
26
  @modified.qr = true
@@ -38,10 +37,10 @@ class HeaderTest < Test::Unit::TestCase
38
37
  @modified.arCount = 3
39
38
 
40
39
  @data = @modified.data
41
- num = [(@data.unpack("n")[0]+1)].pack("n")
42
- @data[0],@data[1] = num[0], num[1]
40
+ num = [(@data.unpack("n")[0] + 1)].pack("n")
41
+ @data[0] = num[0]
42
+ @data[1] = num[1]
43
43
  @binary = Header.parse(@data)
44
-
45
44
  end
46
45
 
47
46
  def test_simple
@@ -60,7 +59,7 @@ class HeaderTest < Test::Unit::TestCase
60
59
  assert_equal(@default.nsCount, 0)
61
60
  assert_equal(@default.arCount, 0)
62
61
 
63
- assert_equal(@hash.id, 441)
62
+ assert_equal(@hash.id, 441)
64
63
  assert_equal(@hash.query?, false)
65
64
  assert_equal(@hash.response?, true)
66
65
  assert_equal(@hash.opCode, Header::IQUERY)
@@ -75,8 +74,8 @@ class HeaderTest < Test::Unit::TestCase
75
74
  assert_equal(@hash.anCount, 2)
76
75
  assert_equal(@hash.nsCount, 3)
77
76
  assert_equal(@hash.arCount, 3)
78
-
79
- assert_equal(@modified.id, 442)
77
+
78
+ assert_equal(@modified.id, 442)
80
79
  assert_equal(@modified.query?, false)
81
80
  assert_equal(@modified.response?, true)
82
81
  assert_equal(@modified.opCode, Header::IQUERY)
@@ -91,10 +90,10 @@ class HeaderTest < Test::Unit::TestCase
91
90
  assert_equal(@modified.anCount, 2)
92
91
  assert_equal(@modified.nsCount, 3)
93
92
  assert_equal(@modified.arCount, 3)
94
-
93
+
95
94
  assert_equal(@binary.data, @data)
96
95
 
97
- assert_equal(@binary.id, 443)
96
+ assert_equal(@binary.id, 443)
98
97
  assert_equal(@binary.query?, false)
99
98
  assert_equal(@binary.response?, true)
100
99
  assert_equal(@binary.opCode, Header::IQUERY)
@@ -109,59 +108,57 @@ class HeaderTest < Test::Unit::TestCase
109
108
  assert_equal(@binary.anCount, 2)
110
109
  assert_equal(@binary.nsCount, 3)
111
110
  assert_equal(@binary.arCount, 3)
112
-
111
+
113
112
  assert_raises(ArgumentError) do
114
- Header.new(Array.new)
113
+ Header.new([])
115
114
  end
116
115
  assert_raises(ArgumentError) do
117
- Header.parse(Array.new)
116
+ Header.parse([])
118
117
  end
119
118
  assert_raises(ArgumentError) do
120
119
  Header.parse("aa")
121
120
  end
122
121
  assert_raises(ArgumentError) do
123
- @default.id = 1000000
122
+ @default.id = 1_000_000
124
123
  end
125
124
  assert_raises(ArgumentError) do
126
- @default.qr=2
125
+ @default.qr = 2
127
126
  end
128
127
  assert_raises(Header::WrongOpcodeError) do
129
- @default.opCode=4
128
+ @default.opCode = 4
130
129
  end
131
130
  assert_raises(ArgumentError) do
132
- @default.aa=2
131
+ @default.aa = 2
133
132
  end
134
133
  assert_raises(ArgumentError) do
135
- @default.tc=2
134
+ @default.tc = 2
136
135
  end
137
136
  assert_raises(Header::WrongRecursiveError) do
138
- @default.recursive=2
137
+ @default.recursive = 2
139
138
  end
140
139
  assert_raises(ArgumentError) do
141
- @default.ra=2
140
+ @default.ra = 2
142
141
  end
143
142
  assert_raises(ArgumentError) do
144
- @default.cd=2
143
+ @default.cd = 2
145
144
  end
146
145
  assert_raises(ArgumentError) do
147
- @default.ad=2
146
+ @default.ad = 2
148
147
  end
149
148
  assert_raises(ArgumentError) do
150
- @default.rCode=46
149
+ @default.rCode = 46
151
150
  end
152
151
  assert_raises(Header::WrongCountError) do
153
- @default.qdCount=100000
152
+ @default.qdCount = 100_000
154
153
  end
155
154
  assert_raises(Header::WrongCountError) do
156
- @default.anCount=100000
155
+ @default.anCount = 100_000
157
156
  end
158
157
  assert_raises(Header::WrongCountError) do
159
- @default.nsCount=100000
158
+ @default.nsCount = 100_000
160
159
  end
161
160
  assert_raises(Header::WrongCountError) do
162
- @default.arCount=100000
161
+ @default.arCount = 100_000
163
162
  end
164
- end
165
-
163
+ end
166
164
  end
167
-
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
  require 'net/dns/names'
3
3
 
4
- class NamesTest < Test::Unit::TestCase
4
+ class NamesTest < Minitest::Test
5
5
  include Net::DNS::Names
6
6
 
7
7
  def test_long_names
@@ -1,8 +1,7 @@
1
1
  require 'test_helper'
2
2
  require 'net/dns/packet'
3
3
 
4
- class PacketTest < Test::Unit::TestCase
5
-
4
+ class PacketTest < Minitest::Test
6
5
  def setup
7
6
  @klass = Net::DNS::Packet
8
7
  @domain = 'example.com'
@@ -23,7 +22,7 @@ class PacketTest < Test::Unit::TestCase
23
22
  @question = @klass.new(@domain).question.first
24
23
  assert_equal @domain, @question.qName
25
24
  assert_equal Net::DNS::RR::Types.new(Net::DNS::A).to_s, @question.qType.to_s
26
- assert_equal Net::DNS::RR::Classes.new(Net::DNS::IN).to_s, @question.qClass.to_s
25
+ assert_equal Net::DNS::RR::Classes.new(Net::DNS::IN).to_s, @question.qClass.to_s
27
26
 
28
27
  @question = @klass.new(@domain, Net::DNS::MX, Net::DNS::HS).question.first
29
28
  assert_equal @domain, @question.qName
@@ -45,5 +44,4 @@ class PacketTest < Test::Unit::TestCase
45
44
  assert_instance_of Array, @record.additional
46
45
  assert_instance_of Net::DNS::RR::A, @record.additional.first
47
46
  end
48
-
49
- end
47
+ end
@@ -1,8 +1,7 @@
1
1
  require 'test_helper'
2
2
  require 'net/dns/question'
3
3
 
4
- class QuestionTest < Test::Unit::TestCase
5
-
4
+ class QuestionTest < Minitest::Test
6
5
  def setup
7
6
  @domain = 'example.com.'
8
7
  @type = 'MX'
@@ -10,7 +9,7 @@ class QuestionTest < Test::Unit::TestCase
10
9
  @data = "\006google\003com\000\000\001\000\001"
11
10
 
12
11
  @default = Net::DNS::Question.new(@domain)
13
- @string = Net::DNS::Question.new(@domain,@type,@cls)
12
+ @string = Net::DNS::Question.new(@domain, @type, @cls)
14
13
  @binary = Net::DNS::Question.parse(@data)
15
14
  @binary2 = Net::DNS::Question.parse(@string.data)
16
15
  end
@@ -41,7 +40,7 @@ class QuestionTest < Test::Unit::TestCase
41
40
  Net::DNS::Question.new("test{")
42
41
  end
43
42
  assert_raises(ArgumentError) do
44
- Net::DNS::Question.parse(Array.new)
43
+ Net::DNS::Question.parse([])
45
44
  end
46
45
  assert_raises(ArgumentError) do
47
46
  Net::DNS::Question.parse("test")
@@ -79,5 +78,4 @@ class QuestionTest < Test::Unit::TestCase
79
78
  assert_equal "supercalifragilistichespiralidoso.com IN A ",
80
79
  Net::DNS::Question.new("supercalifragilistichespiralidoso.com").to_s
81
80
  end
82
-
83
81
  end