Issue #7117: Use PyOS_string_to_double instead of PyOS_ascii_strtod in
complexobject.c. Also remove length restriction on unicode inputs to
the complex constructor.
diff --git a/Lib/test/test_complex.py b/Lib/test/test_complex.py
index f07a6b4..a192ec4 100644
--- a/Lib/test/test_complex.py
+++ b/Lib/test/test_complex.py
@@ -306,7 +306,6 @@
self.assertRaises(ValueError, complex, "1+(2j)")
self.assertRaises(ValueError, complex, "(1+2j)123")
if test_support.have_unicode:
- self.assertRaises(ValueError, complex, unicode("1"*500))
self.assertRaises(ValueError, complex, unicode("x"))
self.assertRaises(ValueError, complex, "1j+2")
self.assertRaises(ValueError, complex, "1e1ej")
@@ -317,6 +316,10 @@
self.assertRaises(ValueError, complex, "1.11.1j")
self.assertRaises(ValueError, complex, "1e1.1j")
+ if test_support.have_unicode:
+ # check that complex accepts long unicode strings
+ self.assertEqual(type(complex(unicode("1"*500))), complex)
+
class EvilExc(Exception):
pass