Fix checker test cases for non-english locales.

This commit is contained in:
Bastian Kleineidam 2012-04-23 20:56:33 +02:00
parent 4cc19f4e9c
commit cd6ee8a1bc
3 changed files with 14 additions and 8 deletions

View file

@ -132,7 +132,7 @@ def get_link_pat (arg, strict=False):
} }
def init_i18n (): def init_i18n (loc=None):
"""Initialize i18n with the configured locale dir. The environment """Initialize i18n with the configured locale dir. The environment
variable LOCPATH can also specify a locale dir. variable LOCPATH can also specify a locale dir.
@ -142,7 +142,7 @@ def init_i18n ():
locdir = os.environ['LOCPATH'] locdir = os.environ['LOCPATH']
else: else:
locdir = os.path.join(get_install_data(), 'share', 'locale') locdir = os.path.join(get_install_data(), 'share', 'locale')
i18n.init(configdata.name.lower(), locdir) i18n.init(configdata.name.lower(), locdir, loc=loc)
# install translated log level names # install translated log level names
import logging import logging
logging.addLevelName(logging.CRITICAL, _('CRITICAL')) logging.addLevelName(logging.CRITICAL, _('CRITICAL'))

View file

@ -59,7 +59,7 @@ class NullTranslator (gettext.NullTranslations):
install_builtin(self, do_unicode) install_builtin(self, do_unicode)
def init (domain, directory): def init (domain, directory, loc=None):
"""Initialize this gettext i18n module. Searches for supported languages """Initialize this gettext i18n module. Searches for supported languages
and installs the gettext translator class.""" and installs the gettext translator class."""
global default_language, default_encoding global default_language, default_encoding
@ -70,7 +70,10 @@ def init (domain, directory):
mo_file = os.path.join(path, '%s.mo' % domain) mo_file = os.path.join(path, '%s.mo' % domain)
if os.path.exists(mo_file): if os.path.exists(mo_file):
supported_languages.add(lang) supported_languages.add(lang)
loc, encoding = get_locale() if loc is None:
loc, encoding = get_locale()
else:
encoding = get_locale()[1]
if loc in supported_languages: if loc in supported_languages:
default_language = loc default_language = loc
else: else:

View file

@ -26,7 +26,6 @@ import linkcheck.checker
import linkcheck.configuration import linkcheck.configuration
import linkcheck.director import linkcheck.director
import linkcheck.logger import linkcheck.logger
import linkcheck.i18n
from .. import get_file from .. import get_file
# helper alias # helper alias
@ -141,10 +140,14 @@ class LinkCheckTest (unittest.TestCase):
Functional test class with ability to test local files. Functional test class with ability to test local files.
""" """
def setUp (self):
"""Ensure the current locale setting is the default.
Otherwise, warnings will get translated and will break tests."""
super(LinkCheckTest, self).setUp()
linkcheck.init_i18n(loc='C')
def norm (self, url, encoding=None): def norm (self, url, encoding=None):
""" """Helper function to norm a url."""
Helper function to norm a url.
"""
return linkcheck.url.url_norm(url, encoding=encoding)[0] return linkcheck.url.url_norm(url, encoding=encoding)[0]
def get_attrs (self, **kwargs): def get_attrs (self, **kwargs):