diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2012-08-20 10:04:26 +1000 |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2012-08-20 10:04:26 +1000 |
commit | a8517ad3d9ac743a1bdd7e590e28a0da169f6e91 (patch) | |
tree | 9679e234fbb24bfc03ae1932ed0bb646a24f0180 /Lib | |
parent | 749bd42072c3ecf04be3e38ca479e48692bbfd7e (diff) | |
download | cpython-git-a8517ad3d9ac743a1bdd7e590e28a0da169f6e91.tar.gz |
Issue #14814: document the Interface APIs and fix various problems with the string representations (initial patch by Eli Bendersky).
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/ipaddress.py | 9 | ||||
-rw-r--r-- | Lib/test/test_ipaddress.py | 16 |
2 files changed, 13 insertions, 12 deletions
diff --git a/Lib/ipaddress.py b/Lib/ipaddress.py index c9338c55f3..cfc370c380 100644 --- a/Lib/ipaddress.py +++ b/Lib/ipaddress.py @@ -1336,7 +1336,8 @@ class IPv4Interface(IPv4Address): @property def with_prefixlen(self): - return self + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) @property def with_netmask(self): @@ -1948,11 +1949,13 @@ class IPv6Interface(IPv6Address): @property def with_prefixlen(self): - return self + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) @property def with_netmask(self): - return self.with_prefixlen + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.netmask) @property def with_hostmask(self): diff --git a/Lib/test/test_ipaddress.py b/Lib/test/test_ipaddress.py index 09b4a5e438..99c54f1614 100644 --- a/Lib/test/test_ipaddress.py +++ b/Lib/test/test_ipaddress.py @@ -1558,21 +1558,19 @@ class IpaddrUnitTest(unittest.TestCase): self.assertEqual(ipaddress.IPv6Network(1).version, 6) def testWithStar(self): - self.assertEqual(str(self.ipv4_interface.with_prefixlen), "1.2.3.4/24") - self.assertEqual(str(self.ipv4_interface.with_netmask), + self.assertEqual(self.ipv4_interface.with_prefixlen, "1.2.3.4/24") + self.assertEqual(self.ipv4_interface.with_netmask, "1.2.3.4/255.255.255.0") - self.assertEqual(str(self.ipv4_interface.with_hostmask), + self.assertEqual(self.ipv4_interface.with_hostmask, "1.2.3.4/0.0.0.255") - self.assertEqual(str(self.ipv6_interface.with_prefixlen), - '2001:658:22a:cafe:200::1/64') - # rfc3513 sec 2.3 says that ipv6 only uses cidr notation for - # subnets - self.assertEqual(str(self.ipv6_interface.with_netmask), + self.assertEqual(self.ipv6_interface.with_prefixlen, '2001:658:22a:cafe:200::1/64') + self.assertEqual(self.ipv6_interface.with_netmask, + '2001:658:22a:cafe:200::1/ffff:ffff:ffff:ffff::') # this probably don't make much sense, but it's included for # compatibility with ipv4 - self.assertEqual(str(self.ipv6_interface.with_hostmask), + self.assertEqual(self.ipv6_interface.with_hostmask, '2001:658:22a:cafe:200::1/::ffff:ffff:ffff:ffff') def testNetworkElementCaching(self): |