diff options
author | mshields@google.com <mshields@google.com@09200d28-7f98-11dd-ad27-0f66e57d2035> | 2011-02-08 04:10:42 +0000 |
---|---|---|
committer | mshields@google.com <mshields@google.com@09200d28-7f98-11dd-ad27-0f66e57d2035> | 2011-02-08 04:10:42 +0000 |
commit | 6ce2f64babd0089ccc5644896e8e5387d3ca3afe (patch) | |
tree | 47565cd4b75ae2acb97bb773075225a72121513f /trunk | |
parent | bc8a8e75c1e96366440427f7810fcc43d76cf455 (diff) | |
download | ipaddr-py-6ce2f64babd0089ccc5644896e8e5387d3ca3afe.tar.gz |
Fix issue 78.
git-svn-id: https://ipaddr-py.googlecode.com/svn@207 09200d28-7f98-11dd-ad27-0f66e57d2035
Diffstat (limited to 'trunk')
-rw-r--r-- | trunk/ipaddr.py | 10 | ||||
-rwxr-xr-x | trunk/ipaddr_test.py | 10 |
2 files changed, 10 insertions, 10 deletions
diff --git a/trunk/ipaddr.py b/trunk/ipaddr.py index a0091f1..239b802 100644 --- a/trunk/ipaddr.py +++ b/trunk/ipaddr.py @@ -608,10 +608,8 @@ class _BaseNet(_IPAddrBase): and int(self.netmask) == int(other.netmask)) except AttributeError: if isinstance(other, _BaseIP): - # If other is a _BaseIP, we pretend it's a network for - # this equality test. It's a slight hack, but it's a - # convenient one. - return self == IPNetwork(other._ip, version=other._version) + return (self._version == other._version + and self._ip == other._ip) def __ne__(self, other): eq = self.__eq__(other) @@ -1688,7 +1686,7 @@ class _BaseV6(object): RFC 2373 2.5.2. """ - return (self == IPv6Network('::') or self == IPv6Address('::')) + return self._ip == 0 and getattr(self, '_prefixlen', 128) == 128 @property def is_loopback(self): @@ -1699,7 +1697,7 @@ class _BaseV6(object): RFC 2373 2.5.3. """ - return (self == IPv6Network('::1') or self == IPv6Address('::1')) + return self._ip == 1 and getattr(self, '_prefixlen', 128) == 128 @property def is_link_local(self): diff --git a/trunk/ipaddr_test.py b/trunk/ipaddr_test.py index 0fefb09..5ad815c 100755 --- a/trunk/ipaddr_test.py +++ b/trunk/ipaddr_test.py @@ -425,14 +425,18 @@ class IpaddrUnitTest(unittest.TestCase): self.assertFalse(self.ipv4 == 2) self.assertTrue(ipaddr.IPNetwork('1.1.1.1/32') == ipaddr.IPAddress('1.1.1.1')) - self.assertFalse(ipaddr.IPNetwork('1.1.1.1/24') == + self.assertTrue(ipaddr.IPNetwork('1.1.1.1/24') == + ipaddr.IPAddress('1.1.1.1')) + self.assertFalse(ipaddr.IPNetwork('1.1.1.0/24') == ipaddr.IPAddress('1.1.1.1')) self.assertTrue(self.ipv6 == ipaddr.IPv6Network('2001:658:22a:cafe:200::1/64')) self.assertTrue(ipaddr.IPNetwork('::1/128') == ipaddr.IPAddress('::1')) - self.assertFalse(ipaddr.IPNetwork('::1/127') == + self.assertTrue(ipaddr.IPNetwork('::1/127') == + ipaddr.IPAddress('::1')) + self.assertFalse(ipaddr.IPNetwork('::0/127') == ipaddr.IPAddress('::1')) self.assertFalse(self.ipv6 == ipaddr.IPv6Network('2001:658:22a:cafe:200::1/63')) @@ -441,8 +445,6 @@ class IpaddrUnitTest(unittest.TestCase): self.assertFalse(self.ipv6 == []) self.assertFalse(self.ipv6 == 2) - - def testNotEquals(self): self.assertFalse(self.ipv4 != ipaddr.IPv4Network('1.2.3.4/24')) self.assertTrue(self.ipv4 != ipaddr.IPv4Network('1.2.3.4/23')) |