[Python-checkins] r72489 - in python/trunk/Lib: ipaddr.py test/test_ipaddr.py
gregory.p.smith
python-checkins at python.org
Sat May 9 01:16:47 CEST 2009
Author: gregory.p.smith
Date: Sat May 9 01:16:47 2009
New Revision: 72489
Log:
Fix an off by one error on negative indexs to __getitem__
http://code.google.com/p/ipaddr-py/issues/detail?id=15
Modified:
python/trunk/Lib/ipaddr.py
python/trunk/Lib/test/test_ipaddr.py
Modified: python/trunk/Lib/ipaddr.py
==============================================================================
--- python/trunk/Lib/ipaddr.py (original)
+++ python/trunk/Lib/ipaddr.py Sat May 9 01:16:47 2009
@@ -209,6 +209,7 @@
raise IndexError
return self._string_from_ip_int(self.network + n)
else:
+ n += 1
if self.broadcast + n < self.network:
raise IndexError
return self._string_from_ip_int(self.broadcast + n)
Modified: python/trunk/Lib/test/test_ipaddr.py
==============================================================================
--- python/trunk/Lib/test/test_ipaddr.py (original)
+++ python/trunk/Lib/test/test_ipaddr.py Sat May 9 01:16:47 2009
@@ -254,6 +254,17 @@
self.assertEqual(self.ipv6[5],
'2001:658:22a:cafe::5')
+ def test_getitem(self):
+ # http://code.google.com/p/ipaddr-py/issues/detail?id=15
+ addr = ipaddr.IPv4('172.31.255.128/255.255.255.240')
+ self.assertEqual(28, addr.prefixlen)
+ addr_list = list(addr)
+ self.assertEqual('172.31.255.128', addr_list[0])
+ self.assertEqual('172.31.255.128', addr[0])
+ self.assertEqual('172.31.255.143', addr_list[-1])
+ self.assertEqual('172.31.255.143', addr[-1])
+ self.assertEqual(addr_list[-1], addr[-1])
+
def test_equals(self):
self.assertTrue(self.ipv4 == ipaddr.IPv4('1.2.3.4/24'))
self.assertFalse(self.ipv4 == ipaddr.IPv4('1.2.3.4/23'))
More information about the Python-checkins
mailing list