1
0
Fork 0
forked from github/pelican

update unit test to avoid using deprecated locale.getdefaultlocale()

This commit is contained in:
Deniz Turgut 2022-10-26 23:27:06 +03:00
commit 3937028c00
No known key found for this signature in database
GPG key ID: 87B7168D7AB3ED2F

View file

@ -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