class TestBad(unittest.TestCase):
- data = [ ":", ":::", "1::2::3", "::3::", "::1.2.3", "12345::1",
- "1:2:3:4:5:6:7:4.3.2.1" ]
+ data = [ ":", ":::", "::0:", "1::2::3", "::3::", "::1.2.3", "12345::1",
+ "1:2:3:4:5:6:7:4.3.2.1", "1:2:3:4:5:6:7:8:9" ]
def testBad(self):
for addr in self.data:
a = v6addr.v6addr_to_str(numaddr)
self.assertEquals(a, b)
+class TestCompat(unittest.TestCase):
+
+ datav6 = [ ("0:0:0:0:0:0:0:0", "::"), ("0::0:0:7", "::7"),
+ ("00ab:00:00:c:00:00:00:d", "ab:0:0:c::d"),
+ ("00ab:0000:0000:0000:000c:0000:0000:000d", "ab::c:0:0:d"),
+ ("1:02:3:04:5:006:7:0008", "1:2:3:4:5:6:7:8"),
+ ("::FFFF:1.2.3.4", "::ffff:102:304") ]
+ datav4 = [ ("001.002.003.004", "1.2.3.4") ]
+
+ def testCompat(self):
+ for addr, b in self.datav6:
+ numaddr = v6addr.inet_pton(socket.AF_INET6, addr)
+ a = v6addr.inet_ntop(socket.AF_INET6, numaddr)
+ self.assertEquals(a, b)
+ for addr, b in self.datav4:
+ numaddr = v6addr.inet_pton(socket.AF_INET, addr)
+ a = v6addr.inet_ntop(socket.AF_INET, numaddr)
+ self.assertEquals(a, b)
+
+ def testInvalidFamily(self):
+ self.assertRaises(socket.error, v6addr.inet_pton,
+ socket.AF_UNIX, "1.2.3.4")
+ self.assertRaises(socket.error, v6addr.inet_ntop,
+ socket.AF_UNIX, "\01\02\03\03")
+
if __name__ == "__main__":
unittest.main()