Issue #8825: additional testcases for int(string, 0) and long(string, 0).

This commit is contained in:
Mark Dickinson 2010-05-26 19:06:33 +00:00
parent 708c0727f9
commit 784a47f2c0
2 changed files with 23 additions and 0 deletions

View file

@ -175,6 +175,12 @@ def test_basic(self):
self.assertEqual(int(' 0O123 ', 0), 83)
self.assertEqual(int(' 0X123 ', 0), 291)
self.assertEqual(int(' 0B100 ', 0), 4)
self.assertEqual(int('0', 0), 0)
self.assertEqual(int('+0', 0), 0)
self.assertEqual(int('-0', 0), 0)
self.assertEqual(int('00', 0), 0)
self.assertRaises(ValueError, int, '08', 0)
self.assertRaises(ValueError, int, '-012395', 0)
# without base still base 10
self.assertEqual(int('0123'), 123)

View file

@ -356,6 +356,23 @@ def test_long(self):
self.assertRaises(ValueError, long, '53', 40)
self.assertRaises(TypeError, long, 1, 12)
# tests with base 0
self.assertEqual(long(' 0123 ', 0), 83)
self.assertEqual(long(' 0123 ', 0), 83)
self.assertEqual(long('000', 0), 0)
self.assertEqual(long('0o123', 0), 83)
self.assertEqual(long('0x123', 0), 291)
self.assertEqual(long('0b100', 0), 4)
self.assertEqual(long(' 0O123 ', 0), 83)
self.assertEqual(long(' 0X123 ', 0), 291)
self.assertEqual(long(' 0B100 ', 0), 4)
self.assertEqual(long('0', 0), 0)
self.assertEqual(long('+0', 0), 0)
self.assertEqual(long('-0', 0), 0)
self.assertEqual(long('00', 0), 0)
self.assertRaises(ValueError, long, '08', 0)
self.assertRaises(ValueError, long, '-012395', 0)
# SF patch #1638879: embedded NULs were not detected with
# explicit base
self.assertRaises(ValueError, long, '123\0', 10)