From 93e614c739ffc07ee07e66f431896be8228d3698 Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Wed, 8 Jun 2016 09:47:45 -0700 Subject: [PATCH] Tests for _{in,out}_encoding (#2041) --- test/test_ui.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/test_ui.py b/test/test_ui.py index ca3c6cbdf..4476720e2 100644 --- a/test/test_ui.py +++ b/test/test_ui.py @@ -1300,6 +1300,30 @@ class CommonOptionsParserTest(unittest.TestCase, TestHelper): ({'album': None, 'path': None, 'format': None}, [])) +class EncodingTest(_common.TestCase): + """Tests for the `terminal_encoding` config option and our + `_in_encoding` and `_out_encoding` utility functions. + """ + + def out_encoding_overridden(self): + config['terminal_encoding'] = 'fake_encoding' + self.assertEqual(ui._out_encoding(), 'fake_encoding') + + def in_encoding_overridden(self): + config['terminal_encoding'] = 'fake_encoding' + self.assertEqual(ui._in_encoding(), 'fake_encoding') + + def out_encoding_default_utf8(self): + with patch('sys.stdout') as stdout: + stdout.encoding = None + self.assertEqual(ui._out_encoding(), 'utf8') + + def in_encoding_default_utf8(self): + with patch('sys.stdin') as stdin: + stdin.encoding = None + self.assertEqual(ui._in_encoding(), 'utf8') + + def suite(): return unittest.TestLoader().loadTestsFromName(__name__)