summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2004-09-06 23:30:27 (GMT)
committerBrett Cannon <bcannon@gmail.com>2004-09-06 23:30:27 (GMT)
commit2ad68e69b975b1714d3da1cd5e419c8294a5f2c1 (patch)
tree80634cbe683ae4424a4ddbe1d7d9687743ec37d2 /Lib
parent9fd5e9a6953fe74c6a9c7966655b056d721441ca (diff)
downloadcpython-2ad68e69b975b1714d3da1cd5e419c8294a5f2c1.zip
cpython-2ad68e69b975b1714d3da1cd5e419c8294a5f2c1.tar.gz
cpython-2ad68e69b975b1714d3da1cd5e419c8294a5f2c1.tar.bz2
Ported test__locale to unittest.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test__locale.py60
1 files changed, 34 insertions, 26 deletions
diff --git a/Lib/test/test__locale.py b/Lib/test/test__locale.py
index 97aaef8..e0f64ec 100644
--- a/Lib/test/test__locale.py
+++ b/Lib/test/test__locale.py
@@ -1,6 +1,8 @@
-from test.test_support import verbose, TestSkipped
-from _locale import setlocale, LC_NUMERIC, RADIXCHAR, THOUSEP, nl_langinfo
-from _locale import localeconv, Error
+from test.test_support import verbose, TestSkipped, run_unittest
+from _locale import (setlocale, LC_NUMERIC, RADIXCHAR, THOUSEP, nl_langinfo,
+ localeconv, Error)
+from locale import getlocale
+import unittest
candidate_locales = ['es_UY', 'fr_FR', 'fi_FI', 'es_CO', 'pt_PT', 'it_IT',
'et_EE', 'es_PY', 'no_NO', 'nl_NL', 'lv_LV', 'el_GR', 'be_BY', 'fr_BE',
@@ -13,26 +15,32 @@ candidate_locales = ['es_UY', 'fr_FR', 'fi_FI', 'es_CO', 'pt_PT', 'it_IT',
'eu_ES', 'vi_VN', 'af_ZA', 'nb_NO', 'en_DK', 'tg_TJ',
'es_ES.ISO8859-1', 'fr_FR.ISO8859-15', 'ru_RU.KOI8-R', 'ko_KR.eucKR']
-oldlocale = setlocale(LC_NUMERIC)
-try:
- saw_locale = 0
- for loc in candidate_locales:
- try:
- setlocale(LC_NUMERIC, loc)
- except Error:
- continue
- if verbose:
- print "locale %r" % loc
- saw_locale = 1
- nl_radixchar = nl_langinfo(RADIXCHAR)
- li_radixchar = localeconv()['decimal_point']
- if nl_radixchar != li_radixchar:
- print "%r != %r" % (nl_radixchar, li_radixchar)
- nl_radixchar = nl_langinfo(THOUSEP)
- li_radixchar = localeconv()['thousands_sep']
- if nl_radixchar != li_radixchar:
- print "%r != %r" % (nl_radixchar, li_radixchar)
- if not saw_locale:
- raise ImportError, "None of the listed locales found"
-finally:
- setlocale(LC_NUMERIC, oldlocale)
+class _LocaleTests(unittest.TestCase):
+
+ def setUp(self):
+ self.oldlocale = setlocale(LC_NUMERIC)
+
+ def tearDown(self):
+ setlocale(LC_NUMERIC, self.oldlocale)
+
+ def test_lc_numeric(self):
+ for loc in candidate_locales:
+ try:
+ setlocale(LC_NUMERIC, loc)
+ except Error:
+ continue
+ for li, lc in ((RADIXCHAR, "decimal_point"),
+ (THOUSEP, "thousands_sep")):
+ nl_radixchar = nl_langinfo(li)
+ li_radixchar = localeconv()[lc]
+ self.assertEquals(nl_radixchar, li_radixchar,
+ "%r != %r (%s); "
+ "supposed to be %s, set to %s" %
+ (nl_radixchar, li_radixchar, lc,
+ loc, getlocale(LC_NUMERIC)[0]))
+
+def test_main():
+ run_unittest(_LocaleTests)
+
+if __name__ == '__main__':
+ test_main()