29 lines
1011 B
Python
29 lines
1011 B
Python
import locale
|
|
import unittest
|
|
from unittest import mock
|
|
from kivy import Config
|
|
from kivy.logger import Logger, FileHandler
|
|
import pytest
|
|
|
|
|
|
class CodecLoggingTestCase(unittest.TestCase):
|
|
def test_log_handles_cp949(self):
|
|
with mock.patch("locale.getpreferredencoding", return_value="cp949"):
|
|
FileHandler.fd = None
|
|
FileHandler.encoding = "utf-8"
|
|
Config.set("kivy", "log_enable", 1)
|
|
Config.set("kivy", "log_level", "trace")
|
|
for string in ["한국어", "Niñas and niños"]:
|
|
Logger.trace("Lang: call_fn => value=%r" % (string,))
|
|
|
|
def test_non_utf8_encoding_raises_exception(
|
|
self,
|
|
): # the old error before utf-8 was standard
|
|
FileHandler.fd = None
|
|
FileHandler.encoding = "cp949"
|
|
Config.set("kivy", "log_enable", 1)
|
|
Config.set("kivy", "log_level", "trace")
|
|
|
|
with pytest.raises(UnicodeError):
|
|
Logger.trace("Lang: call_fn => value=%r" % ("Niñas and niños",))
|