diff --git a/lib/ipaddress/ipv4.rb b/lib/ipaddress/ipv4.rb index 7d8e0d3..3ad2c15 100644 --- a/lib/ipaddress/ipv4.rb +++ b/lib/ipaddress/ipv4.rb @@ -512,6 +512,7 @@ def <=>(oth) return prefix <=> oth.prefix if to_u32 == oth.to_u32 to_u32 <=> oth.to_u32 end + alias eql? == # # Returns the number of IP addresses included diff --git a/lib/ipaddress/ipv6.rb b/lib/ipaddress/ipv6.rb index 88098bc..2dda4d2 100644 --- a/lib/ipaddress/ipv6.rb +++ b/lib/ipaddress/ipv6.rb @@ -490,6 +490,7 @@ def <=>(oth) return prefix <=> oth.prefix if to_u128 == oth.to_u128 to_u128 <=> oth.to_u128 end + alias eql? == # # Returns the address portion of an IP in binary format, diff --git a/test/ipaddress/ipv4_test.rb b/test/ipaddress/ipv4_test.rb index 19264e2..3fc808b 100644 --- a/test/ipaddress/ipv4_test.rb +++ b/test/ipaddress/ipv4_test.rb @@ -361,8 +361,10 @@ def test_method_compare assert_equal false, ip3 < ip1 # ip1 should be equal to itself assert_equal true, ip1 == ip1 + assert_equal true, ip1.eql?(ip1) # ip1 should be equal to ip4 assert_equal true, ip1 == ip4 + assert_equal true, ip1.eql?(ip4) # test sorting arr = ["10.1.1.1/8","10.1.1.1/16","172.16.1.1/14"] assert_equal arr, [ip1,ip2,ip3].sort.map{|s| s.to_string} diff --git a/test/ipaddress/ipv6_test.rb b/test/ipaddress/ipv6_test.rb index dcfb601..a1cd072 100644 --- a/test/ipaddress/ipv6_test.rb +++ b/test/ipaddress/ipv6_test.rb @@ -247,6 +247,11 @@ def test_method_compare assert_equal false, ip3 < ip1 # ip1 should be equal to itself assert_equal true, ip1 == ip1 + assert_equal true, ip1.eql?(ip1) + # ip1 should be equal to a copy of itself + other = ip1.dup + assert_equal true, ip1 == other + assert_equal true, ip1.eql?(other) # ip4 should be greater than ip1 assert_equal true, ip1 < ip4 assert_equal false, ip1 > ip4