diff --git a/Lib/test/test_int.py b/Lib/test/test_int.py index ec57842b688..6e611c2cc93 100644 --- a/Lib/test/test_int.py +++ b/Lib/test/test_int.py @@ -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) diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py index 7be89fcf160..412ec7c5251 100644 --- a/Lib/test/test_long.py +++ b/Lib/test/test_long.py @@ -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)