From: Barry Warsaw Date: Fri, 25 Aug 2000 19:14:25 +0000 (+0000) Subject: Test suite for new gettext.py module. X-Git-Tag: v2.0b1~243 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9e035921494cb8f101c3bfc22956fa968c6ab41f;p=python Test suite for new gettext.py module. --- diff --git a/Lib/test/test_gettext.py b/Lib/test/test_gettext.py new file mode 100644 index 0000000000..1760c7816d --- /dev/null +++ b/Lib/test/test_gettext.py @@ -0,0 +1,76 @@ +import os +import gettext + +def get_qualified_path(name): + """Return a more qualified path to name""" + import sys + import os + path = sys.path + try: + path = [os.path.dirname(__file__)] + path + except NameError: + pass + for dir in path: + fullname = os.path.join(dir, name) + if os.path.exists(fullname): + return fullname + return name + +# Test basic interface +os.environ['LANGUAGE'] = 'xx' + +mofile = get_qualified_path('xx') +localedir = os.path.dirname(mofile) + +print 'installing gettext' +gettext.install() + +print _('calling bindtextdomain with localedir %s') % localedir +print gettext.bindtextdomain('gettext', localedir) +print gettext.bindtextdomain() + +print gettext.textdomain('gettext') +print gettext.textdomain() + +# test some translations +print _(u'mullusk') +print _(r'Raymond Luxury Yach-t') +print _(ur'nudge nudge') + +# double quotes +print _(u"mullusk") +print _(r"Raymond Luxury Yach-t") +print _(ur"nudge nudge") + +# triple single quotes +print _(u'''mullusk''') +print _(r'''Raymond Luxury Yach-t''') +print _(ur'''nudge nudge''') + +# triple double quotes +print _(u"""mullusk""") +print _(r"""Raymond Luxury Yach-t""") +print _(ur"""nudge nudge""") + +# multiline strings +print _('''This module provides internationalization and localization +support for your Python programs by providing an interface to the GNU +gettext message catalog library.''') + +print gettext.dgettext('gettext', 'nudge nudge') + +# dcgettext +##import locale +##if gettext.dcgettext('gettext', 'nudge nudge', +## locale.LC_MESSAGES) <> 'wink wink': +## print _('dcgettext failed') + +# test the alternative interface +fp = open(os.path.join(mofile, 'LC_MESSAGES', 'gettext.mo'), 'rb') +t = gettext.GNUTranslations(fp) +fp.close() + +gettext.set(t) +print t == gettext.get() + +print _('nudge nudge')