[pypy-svn] r64750 - in pypy/trunk/pypy/module/_locale: . test
getxsick at codespeak.net
getxsick at codespeak.net
Mon Apr 27 22:35:37 CEST 2009
Author: getxsick
Date: Mon Apr 27 22:35:34 2009
New Revision: 64750
Modified:
pypy/trunk/pypy/module/_locale/interp_locale.py
pypy/trunk/pypy/module/_locale/test/test_locale.py
Log:
fix constants. some of them depend on HAVE_LANGINFO, some on platform.
Modified: pypy/trunk/pypy/module/_locale/interp_locale.py
==============================================================================
--- pypy/trunk/pypy/module/_locale/interp_locale.py (original)
+++ pypy/trunk/pypy/module/_locale/interp_locale.py Mon Apr 27 22:35:34 2009
@@ -93,18 +93,26 @@
for name in constant_names:
setattr(CConfig, name, platform.DefinedConstantInteger(name))
+langinfo_names = []
+if HAVE_LANGINFO:
+ # some of these consts have an additional #ifdef directives
+ # should we support them?
+ langinfo_names.extend('RADIXCHAR THOUSEP CRNCYSTR D_T_FMT D_FMT T_FMT '
+ 'AM_STR PM_STR CODESET T_FMT_AMPM ERA ERA_D_FMT '
+ 'ERA_D_T_FMT ERA_T_FMT ALT_DIGITS YESEXPR NOEXPR '
+ '_DATE_FMT'.split())
+ for i in range(1, 8):
+ langinfo_names.append("DAY_%d" % i)
+ langinfo_names.append("ABDAY_%d" % i)
+ for i in range(1, 13):
+ langinfo_names.append("MON_%d" % i)
+ langinfo_names.append("ABMON_%d" % i)
+
+if sys.platform == 'win32':
+ langinfo_names.extend('LOCALE_USER_DEFAULT LOCALE_SISO639LANGNAME '
+ 'LOCALE_SISO3166CTRYNAME LOCALE_IDEFAULTLANGUAGE '
+ ''.split())
-langinfo_names = ('CODESET D_T_FMT D_FMT T_FMT RADIXCHAR THOUSEP '
- 'YESEXPR NOEXPR CRNCYSTR AM_STR PM_STR '
- 'LOCALE_USER_DEFAULT LOCALE_SISO639LANGNAME '
- 'LOCALE_SISO3166CTRYNAME LOCALE_IDEFAULTLANGUAGE '
- '').split()
-for i in range(1, 8):
- langinfo_names.append("DAY_%d" % i)
- langinfo_names.append("ABDAY_%d" % i)
-for i in range(1, 13):
- langinfo_names.append("MON_%d" % i)
- langinfo_names.append("ABMON_%d" % i)
for name in langinfo_names:
setattr(CConfig, name, platform.DefinedConstantInteger(name))
Modified: pypy/trunk/pypy/module/_locale/test/test_locale.py
==============================================================================
--- pypy/trunk/pypy/module/_locale/test/test_locale.py (original)
+++ pypy/trunk/pypy/module/_locale/test/test_locale.py Mon Apr 27 22:35:34 2009
@@ -35,8 +35,10 @@
import locale
assert locale
-
+
def test_constants(self):
+ import sys
+
_CONSTANTS = (
'LC_CTYPE',
'LC_NUMERIC',
@@ -61,6 +63,27 @@
for constant in _CONSTANTS:
assert hasattr(_locale, constant)
+
+ # HAVE_LANGINFO
+ if sys.platform != 'win32':
+ _LANGINFO_NAMES = ('RADIXCHAR THOUSEP CRNCYSTR D_T_FMT D_FMT '
+ 'T_FMT AM_STR PM_STR CODESET T_FMT_AMPM ERA ERA_D_FMT '
+ 'ERA_D_T_FMT ERA_T_FMT ALT_DIGITS YESEXPR NOEXPR '
+ '_DATE_FMT').split()
+ for i in range(1, 8):
+ _LANGINFO_NAMES.append("DAY_%d" % i)
+ _LANGINFO_NAMES.append("ABDAY_%d" % i)
+ for i in range(1, 13):
+ _LANGINFO_NAMES.append("MON_%d" % i)
+ _LANGINFO_NAMES.append("ABMON_%d" % i)
+ else:
+ _LANGINFO_NAMES = ('LOCALE_USER_DEFAULT LOCALE_SISO639LANGNAME '
+ 'LOCALE_SISO3166CTRYNAME LOCALE_IDEFAULTLANGUAGE '
+ '').split()
+
+ for constant in _LANGINFO_NAMES:
+ assert hasattr(_locale, constant)
+
def test_setlocale(self):
import _locale
More information about the Pypy-commit
mailing list