From 62b87fca2091970a2369ad7ff059255259422f2b Mon Sep 17 00:00:00 2001 From: Steven Lang Date: Wed, 20 Nov 2013 10:57:24 -0800 Subject: [PATCH] Fixed locale test in the presence of LANGUAGE According to GNU documents, the priority order of language variables is LANGUAGE, LC_ALL, LC_*, LANG. Therefore, if LANGUAGE is set, it overrides the LC_ALL setting from the test. An empty value is ignored, and setting it to empty is easier to deal with than just deleting the variable. Also fixed the Google translate fail esperanto grammar. Fixes bug 1235058 Change-Id: Ic97b90dfc21997e19cc473250794a9b3c526beb5 --- test/unit/locale/eo.po | 2 +- test/unit/locale/messages.mo | Bin 84 -> 83 bytes test/unit/locale/test_locale.py | 21 ++++++++++----------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/test/unit/locale/eo.po b/test/unit/locale/eo.po index aeafb074cf..8f677b402a 100644 --- a/test/unit/locale/eo.po +++ b/test/unit/locale/eo.po @@ -1,2 +1,2 @@ msgid "test message" -msgstr "testo mesaĝon" +msgstr "prova mesaĝo" diff --git a/test/unit/locale/messages.mo b/test/unit/locale/messages.mo index 4c8fcc0b2993f911236008e4d029d7a519df9476..7b1d3d6d44589538574e45269adccdd3bdedfeb4 100644 GIT binary patch delta 24 fcmWFuo}j|WJ5g1Eub?QuEKwmhwK(y}+k diff --git a/test/unit/locale/test_locale.py b/test/unit/locale/test_locale.py index 38cc6e676f..69f6a4e298 100644 --- a/test/unit/locale/test_locale.py +++ b/test/unit/locale/test_locale.py @@ -31,30 +31,29 @@ except ImportError: class TestTranslations(unittest.TestCase): def setUp(self): - self.la = os.environ.get('LC_ALL') - self.sl = os.environ.get('SWIFT_LOCALEDIR') + self.orig_env = {} + for var in 'LC_ALL', 'SWIFT_LOCALEDIR', 'LANGUAGE': + self.orig_env[var] = os.environ.get(var) os.environ['LC_ALL'] = 'eo' os.environ['SWIFT_LOCALEDIR'] = os.path.dirname(__file__) + os.environ['LANGUAGE'] = '' self.orig_stop = threading._DummyThread._Thread__stop # See http://stackoverflow.com/questions/13193278/\ # understand-python-threading-bug threading._DummyThread._Thread__stop = lambda x: 42 def tearDown(self): - if self.la is not None: - os.environ['LC_ALL'] = self.la - else: - del os.environ['LC_ALL'] - if self.sl is not None: - os.environ['SWIFT_LOCALEDIR'] = self.sl - else: - del os.environ['SWIFT_LOCALEDIR'] + for var, val in self.orig_env.iteritems(): + if val is not None: + os.environ[var] = val + else: + del os.environ[var] threading._DummyThread._Thread__stop = self.orig_stop def test_translations(self): path = ':'.join(sys.path) translated_message = check_output(['python', __file__, path]) - self.assertEquals(translated_message, 'testo mesaĝon\n') + self.assertEquals(translated_message, 'prova mesaĝo\n') if __name__ == "__main__":