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 0000000..1760c78
--- /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')