@@ -19,40 +19,50 @@ def tearDownModule():
19
19
class TestColorizeFunction(unittest.TestCase):
20
20
@force_not_colorized
21
21
def test_colorized_detection_checks_for_environment_variables(self):
22
- if sys.platform == "win32":
23
- virtual_patching = unittest.mock.patch("nt._supports_virtual_terminal",
24
- return_value=True)
25
- else:
26
- virtual_patching = contextlib.nullcontext()
27
- with virtual_patching:
28
-
29
- flags = unittest.mock.MagicMock(ignore_environment=False)
30
- with (unittest.mock.patch("os.isatty") as isatty_mock,
31
- unittest.mock.patch("sys.flags", flags),
32
- unittest.mock.patch("_colorize.can_colorize", ORIGINAL_CAN_COLORIZE)):
33
- isatty_mock.return_value = True
34
- with unittest.mock.patch("os.environ", {'TERM': 'dumb'}):
35
- self.assertEqual(_colorize.can_colorize(), False)
36
- with unittest.mock.patch("os.environ", {'PYTHON_COLORS': '1'}):
37
- self.assertEqual(_colorize.can_colorize(), True)
38
- with unittest.mock.patch("os.environ", {'PYTHON_COLORS': '0'}):
39
- self.assertEqual(_colorize.can_colorize(), False)
40
- with unittest.mock.patch("os.environ", {'NO_COLOR': '1'}):
22
+ flags = unittest.mock.MagicMock(ignore_environment=False)
23
+ with (unittest.mock.patch("os.isatty") as isatty_mock,
24
+ unittest.mock.patch("sys.stderr") as stderr_mock,
25
+ unittest.mock.patch("sys.flags", flags),
26
+ unittest.mock.patch("_colorize.can_colorize", ORIGINAL_CAN_COLORIZE),
27
+ (unittest.mock.patch("nt._supports_virtual_terminal", return_value=False)
28
+ if sys.platform == "win32" else
29
+ contextlib.nullcontext()) as vt_mock):
30
+
31
+ isatty_mock.return_value = True
32
+ stderr_mock.fileno.return_value = 2
33
+ stderr_mock.isatty.return_value = True
34
+ with unittest.mock.patch("os.environ", {'TERM': 'dumb'}):
35
+ self.assertEqual(_colorize.can_colorize(), False)
36
+ with unittest.mock.patch("os.environ", {'PYTHON_COLORS': '1'}):
37
+ self.assertEqual(_colorize.can_colorize(), True)
38
+ with unittest.mock.patch("os.environ", {'PYTHON_COLORS': '0'}):
39
+ self.assertEqual(_colorize.can_colorize(), False)
40
+ with unittest.mock.patch("os.environ", {'NO_COLOR': '1'}):
41
+ self.assertEqual(_colorize.can_colorize(), False)
42
+ with unittest.mock.patch("os.environ",
43
+ {'NO_COLOR': '1', "PYTHON_COLORS": '1'}):
44
+ self.assertEqual(_colorize.can_colorize(), True)
45
+ with unittest.mock.patch("os.environ", {'FORCE_COLOR': '1'}):
46
+ self.assertEqual(_colorize.can_colorize(), True)
47
+ with unittest.mock.patch("os.environ",
48
+ {'FORCE_COLOR': '1', 'NO_COLOR': '1'}):
49
+ self.assertEqual(_colorize.can_colorize(), False)
50
+ with unittest.mock.patch("os.environ",
51
+ {'FORCE_COLOR': '1', "PYTHON_COLORS": '0'}):
52
+ self.assertEqual(_colorize.can_colorize(), False)
53
+
54
+ with unittest.mock.patch("os.environ", {}):
55
+ if sys.platform == "win32":
41
56
self.assertEqual(_colorize.can_colorize(), False)
42
- with unittest.mock.patch("os.environ",
43
- {'NO_COLOR': '1', "PYTHON_COLORS": '1'}):
57
+
58
+ vt_mock.return_value = True
44
59
self.assertEqual(_colorize.can_colorize(), True)
45
- with unittest.mock.patch("os.environ", {'FORCE_COLOR': '1'}) :
60
+ else :
46
61
self.assertEqual(_colorize.can_colorize(), True)
47
- with unittest.mock.patch("os.environ",
48
- {'FORCE_COLOR': '1', 'NO_COLOR': '1'}):
49
- self.assertEqual(_colorize.can_colorize(), False)
50
- with unittest.mock.patch("os.environ",
51
- {'FORCE_COLOR': '1', "PYTHON_COLORS": '0'}):
52
- self.assertEqual(_colorize.can_colorize(), False)
62
+
53
63
isatty_mock.return_value = False
54
- with unittest.mock.patch("os.environ", {}):
55
- self.assertEqual(_colorize.can_colorize(), False)
64
+ stderr_mock.isatty.return_value = False
65
+ self.assertEqual(_colorize.can_colorize(), False)
56
66
57
67
58
68
if __name__ == "__main__":
0 commit comments