diff --git a/pelican/tests/test_settings.py b/pelican/tests/test_settings.py index c407f7c8..0f630ad5 100644 --- a/pelican/tests/test_settings.py +++ b/pelican/tests/test_settings.py @@ -2,7 +2,6 @@ import copy import locale import os from os.path import abspath, dirname, join -from sys import platform from pelican.settings import (DEFAULT_CONFIG, DEFAULT_THEME, @@ -136,18 +135,19 @@ class TestSettingsConfiguration(unittest.TestCase): settings['ARTICLE_DIR'] settings['PAGE_DIR'] - # locale.getdefaultlocale() is broken on Windows - # See: https://bugs.python.org/issue37945 - @unittest.skipIf(platform == 'win32', "Doesn't work on Windows") def test_default_encoding(self): - # Test that the default locale is set if not specified in settings + # Test that the user locale is set if not specified in settings - # Reset locale to Python's default locale locale.setlocale(locale.LC_ALL, 'C') - self.assertEqual(self.settings['LOCALE'], DEFAULT_CONFIG['LOCALE']) + # empty string = user system locale + self.assertEqual(self.settings['LOCALE'], ['']) configure_settings(self.settings) - self.assertEqual(locale.getlocale(), locale.getdefaultlocale()) + lc_time = locale.getlocale(locale.LC_TIME) # should be set to user locale + + # explicitly set locale to user pref and test + locale.setlocale(locale.LC_TIME, '') + self.assertEqual(lc_time, locale.getlocale(locale.LC_TIME)) def test_invalid_settings_throw_exception(self): # Test that the path name is valid