Patch #1725 by Mark Dickinson, fixes incorrect conversion of -1e1000
and adds errors for -0x.
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index c5a1cc3..255fb96 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -619,6 +619,11 @@
self.assertEqual(float(" 3.14 "), 3.14)
self.assertRaises(ValueError, float, " 0x3.1 ")
self.assertRaises(ValueError, float, " -0x3.p-1 ")
+ self.assertRaises(ValueError, float, " +0x3.p-1 ")
+ self.assertRaises(ValueError, float, "++3.14")
+ self.assertRaises(ValueError, float, "+-3.14")
+ self.assertRaises(ValueError, float, "-+3.14")
+ self.assertRaises(ValueError, float, "--3.14")
if have_unicode:
self.assertEqual(float(unicode(" 3.14 ")), 3.14)
self.assertEqual(float(unicode(" \u0663.\u0661\u0664 ",'raw-unicode-escape')), 3.14)
@@ -648,6 +653,7 @@
self.assertRaises(ValueError, float, " -3,14 ")
self.assertRaises(ValueError, float, " 0x3.1 ")
self.assertRaises(ValueError, float, " -0x3.p-1 ")
+ self.assertRaises(ValueError, float, " +0x3.p-1 ")
self.assertEqual(float(" 25.e-1 "), 2.5)
self.assertEqual(fcmp(float(" .25e-1 "), .025), 0)