summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Luong (Franco) <franco@definefunk.com>2017-08-30 07:47:42 -0400
committerGitHub <noreply@github.com>2017-08-30 07:47:42 -0400
commitc534ea04cb6b69d10878b3049d494f06f411fc6b (patch)
treee67494ac80b85ba94708d39426cd073bf8e5feff
parent9dedeaf13caddb1827a48091c353c8f953b517ac (diff)
parentc118c7174a6939cbdfd35f9aaaa39c93a30cd452 (diff)
downloadipaddress-c534ea04cb6b69d10878b3049d494f06f411fc6b.tar.gz
Merge pull request #64 from ghg/return_argument_error_for_nil
Raise ArgumentError if IP address is nil
-rw-r--r--lib/ipaddress/ipv4.rb1
-rw-r--r--lib/ipaddress/ipv6.rb1
-rw-r--r--test/ipaddress/ipv4_test.rb1
-rw-r--r--test/ipaddress/ipv6_test.rb1
4 files changed, 4 insertions, 0 deletions
diff --git a/lib/ipaddress/ipv4.rb b/lib/ipaddress/ipv4.rb
index 5979489..7051678 100644
--- a/lib/ipaddress/ipv4.rb
+++ b/lib/ipaddress/ipv4.rb
@@ -61,6 +61,7 @@ module IPAddress;
# IPAddress::IPv4.new "10.0.0.1/255.0.0.0"
#
def initialize(str)
+ raise ArgumentError, "Nil IP" unless str
ip, netmask = str.split("/")
# Check the ip and remove white space
diff --git a/lib/ipaddress/ipv6.rb b/lib/ipaddress/ipv6.rb
index 2205de4..3e506ac 100644
--- a/lib/ipaddress/ipv6.rb
+++ b/lib/ipaddress/ipv6.rb
@@ -87,6 +87,7 @@ module IPAddress;
# ip6 = IPAddress "2001:db8::8:800:200c:417a/64"
#
def initialize(str)
+ raise ArgumentError, "Nil IP" unless str
ip, netmask = str.split("/")
if str =~ /:.+\./
diff --git a/test/ipaddress/ipv4_test.rb b/test/ipaddress/ipv4_test.rb
index 33b3a31..621f33c 100644
--- a/test/ipaddress/ipv4_test.rb
+++ b/test/ipaddress/ipv4_test.rb
@@ -92,6 +92,7 @@ class IPv4Test < Minitest::Test
@invalid_ipv4.each do |i|
assert_raises(ArgumentError) {@klass.new(i)}
end
+ assert_raises (ArgumentError) {@klass.new(nil)}
assert_raises (ArgumentError) {@klass.new("10.0.0.0/asd")}
end
diff --git a/test/ipaddress/ipv6_test.rb b/test/ipaddress/ipv6_test.rb
index 3c3da90..c7b8142 100644
--- a/test/ipaddress/ipv6_test.rb
+++ b/test/ipaddress/ipv6_test.rb
@@ -58,6 +58,7 @@ class IPv6Test < Minitest::Test
end
assert_equal 64, @ip.prefix
+ assert_raises(ArgumentError) {@klass.new nil }
assert_raises(ArgumentError) {
@klass.new "::10.1.1.1"
}