[Python-checkins] commit of r41497 - python/trunk/Lib/test
neal.norwitz@python.org
neal.norwitz at python.org
Tue Nov 22 06:17:45 CET 2005
Author: neal.norwitz
Date: Tue Nov 22 06:17:40 2005
New Revision: 41497
Modified:
python/trunk/Lib/test/test_builtin.py
Log:
improve test coverage in Python/pystrtod.c and Python/mystrtoul.c.
Modified: python/trunk/Lib/test/test_builtin.py
==============================================================================
--- python/trunk/Lib/test/test_builtin.py (original)
+++ python/trunk/Lib/test/test_builtin.py Tue Nov 22 06:17:40 2005
@@ -545,6 +545,34 @@
self.assertEqual(float(unicode(" 3.14 ")), 3.14)
self.assertEqual(float(unicode(" \u0663.\u0661\u0664 ",'raw-unicode-escape')), 3.14)
+ def test_float_with_comma(self):
+ # set locale to something that doesn't use '.' for the decimal point
+ try:
+ import locale
+ orig_locale = locale.setlocale(locale.LC_NUMERIC, '')
+ locale.setlocale(locale.LC_NUMERIC, 'fr_FR')
+ except:
+ # if we can't set the locale, just ignore this test
+ return
+
+ try:
+ self.assertEqual(locale.localeconv()['decimal_point'], ',')
+ except:
+ # this test is worthless, just skip it and reset the locale
+ locale.setlocale(locale.LC_NUMERIC, orig_locale)
+ return
+
+ try:
+ self.assertEqual(float(" 3,14 "), 3.14)
+ self.assertEqual(float(" +3,14 "), 3.14)
+ self.assertEqual(float(" -3,14 "), -3.14)
+ self.assertEqual(float(" 0x3.1 "), 3.0625)
+ self.assertEqual(float(" -0x3.p-1 "), -1.5)
+ self.assertEqual(float(" 25.e-1 "), 2.5)
+ self.assertEqual(fcmp(float(" .25e-1 "), .025), 0)
+ finally:
+ locale.setlocale(locale.LC_NUMERIC, orig_locale)
+
def test_floatconversion(self):
# Make sure that calls to __float__() work properly
class Foo0:
@@ -682,6 +710,7 @@
self.assertRaises(TypeError, int, 1, 12)
self.assertEqual(int('0123', 0), 83)
+ self.assertEqual(int('0x123', 16), 291)
def test_intconversion(self):
# Test __int__()
More information about the Python-checkins
mailing list