summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_builtin.py
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2006-07-03 12:19:50 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2006-07-03 12:19:50 (GMT)
commitfcfff0a7fa6ece4c806b6e1a0a66b5ce214b9a28 (patch)
treef7021d6ee71d28238772991a0f367cf632216485 /Lib/test/test_builtin.py
parent82c276ea332108056e2ca8905547fc184bfe0eb9 (diff)
downloadcpython-fcfff0a7fa6ece4c806b6e1a0a66b5ce214b9a28.zip
cpython-fcfff0a7fa6ece4c806b6e1a0a66b5ce214b9a28.tar.gz
cpython-fcfff0a7fa6ece4c806b6e1a0a66b5ce214b9a28.tar.bz2
Bug #1417699: Reject locale-specific decimal point in float()
and atof().
Diffstat (limited to 'Lib/test/test_builtin.py')
-rw-r--r--Lib/test/test_builtin.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index dcc565a..bcb4424 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -558,13 +558,24 @@ class BuiltinTest(unittest.TestCase):
@run_with_locale('LC_NUMERIC', 'fr_FR', 'de_DE')
def test_float_with_comma(self):
# set locale to something that doesn't use '.' for the decimal point
+ # float must not accept the locale specific decimal point but
+ # it still has to accept the normal python syntac
import locale
if not locale.localeconv()['decimal_point'] == ',':
return
- self.assertEqual(float(" 3,14 "), 3.14)
- self.assertEqual(float(" +3,14 "), 3.14)
- self.assertEqual(float(" -3,14 "), -3.14)
+ self.assertEqual(float(" 3.14 "), 3.14)
+ self.assertEqual(float("+3.14 "), 3.14)
+ self.assertEqual(float("-3.14 "), -3.14)
+ self.assertEqual(float(".14 "), .14)
+ self.assertEqual(float("3. "), 3.0)
+ self.assertEqual(float("3.e3 "), 3000.0)
+ self.assertEqual(float("3.2e3 "), 3200.0)
+ self.assertEqual(float("2.5e-1 "), 0.25)
+ self.assertEqual(float("5e-1"), 0.5)
+ self.assertRaises(ValueError, float, " 3,14 ")
+ self.assertRaises(ValueError, float, " +3,14 ")
+ self.assertRaises(ValueError, float, " -3,14 ")
self.assertRaises(ValueError, float, " 0x3.1 ")
self.assertRaises(ValueError, float, " -0x3.p-1 ")
self.assertEqual(float(" 25.e-1 "), 2.5)