mirror of https://github.com/python/cpython
bpo-29571: Fix test_re.test_locale_flag() (GH-12099)
Use locale.getpreferredencoding() rather than locale.getlocale() to get the locale encoding. With some locales, locale.getlocale() returns the wrong encoding. For example, on Fedora 29, locale.getlocale() returns ISO-8859-1 encoding for the "en_IN" locale, whereas locale.getpreferredencoding() reports the correct encoding: UTF-8.
This commit is contained in:
parent
ef17fdbc1c
commit
ab71f8b793
|
@ -1552,8 +1552,7 @@ class ReTests(unittest.TestCase):
|
|||
self.assertRaises(re.error, re.compile, r'(?au)\w')
|
||||
|
||||
def test_locale_flag(self):
|
||||
import locale
|
||||
_, enc = locale.getlocale(locale.LC_CTYPE)
|
||||
enc = locale.getpreferredencoding()
|
||||
# Search non-ASCII letter
|
||||
for i in range(128, 256):
|
||||
try:
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Fix ``test_re.test_locale_flag()``: use ``locale.getpreferredencoding()``
|
||||
rather than ``locale.getlocale()`` to get the locale encoding. With some
|
||||
locales, ``locale.getlocale()`` returns the wrong encoding.
|
Loading…
Reference in New Issue