From 1eb3033311da1015ab841fa1e2615edb9eed5bdd Mon Sep 17 00:00:00 2001 From: Pavel Zuna Date: Wed, 23 Feb 2011 16:40:17 -0500 Subject: Final i18n unit test fixes. --- install/po/Makefile.in | 7 ++++--- install/po/test_i18n.py | 7 ++++--- ipalib/plugable.py | 4 ++-- tests/test_ipalib/test_text.py | 12 ++++++------ 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/install/po/Makefile.in b/install/po/Makefile.in index bcc81d00..0d0fa640 100644 --- a/install/po/Makefile.in +++ b/install/po/Makefile.in @@ -191,10 +191,11 @@ maintainer-clean: distclean test_lang: rm -rf test.po test_locale $(MSGINIT) --no-translator -i $(DOMAIN).pot -l en_US -o test.po - $(SED) -i -r -e 's/^msgstr[ \t]+"(.*)"[ \t]*$$/msgstr "\xe2\x86\x92\1\xe2\x86\x90"/' test.po + $(SED) -i -r -e 's/Language: en_US/Language: xh_ZA/' test.po + $(SED) -i -r -e 's/^msgstr[ \t]+"(..*)"[ \t]*$$/msgstr "\xe2\x86\x92\1\xe2\x86\x90"/' test.po $(SED) -i -r -e 's/^msgstr[ \t]+"(.*)(\\n)(.)"[ \t]*$$/msgstr "\1\xe2\x86\x90\2"/' test.po - $(MKDIR_P) test_locale/en_US/LC_MESSAGES - $(MSGFMT) -o test_locale/en_US/LC_MESSAGES/ipa.mo test.po + $(MKDIR_P) test_locale/xh_ZA/LC_MESSAGES + $(MSGFMT) -o test_locale/xh_ZA/LC_MESSAGES/ipa.mo test.po test: test_lang ./test_i18n.py diff --git a/install/po/test_i18n.py b/install/po/test_i18n.py index 8294c7c8..f4de7c92 100755 --- a/install/po/test_i18n.py +++ b/install/po/test_i18n.py @@ -23,6 +23,7 @@ import sys import gettext import locale import re +import os def get_msgid(po_file): 'Get the first non-empty msgid from the po file' @@ -62,11 +63,11 @@ def main(): try: - # The test installs the test message catalog under the en_US (e.g. U.S. English) + # The test installs the test message catalog under the xh_ZA (e.g. Zambia Xhosa) # language. It would be nice to use a dummy language not associated with any # real language, but the setlocale function demands the locale be a valid known - # locale, U.S. English is a reasonable choice. - locale.setlocale(locale.LC_MESSAGES, 'en_US.UTF-8') + # locale, Zambia Xhosa is a reasonable choice :) + os.environ['LANG'] = 'xh_ZA' # Tell gettext that our domain is 'ipa', that locale_dir is 'test_locale' # (i.e. where to look for the message catalog) and that we want the translations diff --git a/ipalib/plugable.py b/ipalib/plugable.py index 92e6392a..48ff9198 100644 --- a/ipalib/plugable.py +++ b/ipalib/plugable.py @@ -183,10 +183,10 @@ class Plugin(ReadOnly): '%s.%s' % (b.__module__, b.__name__) for b in cls.__bases__ ) self.doc = _(cls.__doc__) - if self.doc is None: + if not self.doc.msg: self.summary = '<%s>' % self.fullname else: - self.summary = unicode(self.doc).split('\n\n', 1)[0] + self.summary = unicode(self.doc).split('\n\n', 1)[0].strip() log = logging.getLogger(self.fullname) for name in ('debug', 'info', 'warning', 'error', 'critical', 'exception'): if hasattr(self, name): diff --git a/tests/test_ipalib/test_text.py b/tests/test_ipalib/test_text.py index 67fd0172..1931ca4f 100644 --- a/tests/test_ipalib/test_text.py +++ b/tests/test_ipalib/test_text.py @@ -21,8 +21,10 @@ Test the `ipalib.text` module. """ +import os import re import nose +import locale from tests.util import raises, assert_equal from ipalib.request import context from ipalib import request @@ -75,12 +77,8 @@ def test_gettext(): localedir='install/po/test_locale' test_file='install/po/test.po' - # The test installs the test message catalog under the en_US - # (e.g. U.S. English) language. It would be nice to use a dummy - # language not associated with any real language, but the - # setlocale function demands the locale be a valid known locale, - # U.S. English is a reasonable choice. - # request.set_languages('en_US.UTF-8') + lang = os.environ['LANG'] + os.environ['LANG'] = 'xh_ZA' # Tell gettext that our domain is 'ipa', that locale_dir is # 'test_locale' (i.e. where to look for the message catalog) @@ -117,6 +115,8 @@ def test_gettext(): # Reset the language and assure we don't get the test values context.__dict__.clear() + os.environ['LANG'] = lang + translated = unicode(localized) assert(translated[0] != prefix) -- cgit