summaryrefslogtreecommitdiff
path: root/Lib/test/test_long.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_long.py')
-rw-r--r--Lib/test/test_long.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py
index 18bb7a4595..2c9e2d098a 100644
--- a/Lib/test/test_long.py
+++ b/Lib/test/test_long.py
@@ -526,16 +526,21 @@ class LongTest(unittest.TestCase):
self.assertEqual(format(1234, "+b"), "+10011010010")
self.assertEqual(format(-1234, "+b"), "-10011010010")
- # conversion to float
- self.assertEqual(format(0, 'f'), '0.000000')
-
# make sure these are errors
self.assertRaises(ValueError, format, 3, "1.3") # precision disallowed
self.assertRaises(ValueError, format, 3, "+c") # sign not allowed
# with 'c'
- self.assertRaises(ValueError, format, 3, "R") # bogus format type
- # conversion to string should fail
- self.assertRaises(ValueError, format, 3, "s")
+ # other format specifiers shouldn't work on ints,
+ # in particular float and string specifiers
+ for format_spec in ([chr(x) for x in range(ord('a'), ord('z')+1)] +
+ [chr(x) for x in range(ord('A'), ord('Z')+1)]):
+ if not format_spec in 'bcdoxX':
+ self.assertRaises(ValueError, format, 0, format_spec)
+ self.assertRaises(ValueError, format, 1, format_spec)
+ self.assertRaises(ValueError, format, -1, format_spec)
+ self.assertRaises(ValueError, format, 2**100, format_spec)
+ self.assertRaises(ValueError, format, -(2**100), format_spec)
+
def test_nan_inf(self):
self.assertRaises(OverflowError, int, float('inf'))