mirror of
https://github.com/python/cpython.git
synced 2026-01-28 18:22:17 +00:00
Issue #8825: additional testcases for int(string, 0) and long(string, 0).
This commit is contained in:
parent
708c0727f9
commit
784a47f2c0
2 changed files with 23 additions and 0 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue