[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