Skip to content

Commit 6946167

Browse files
committed
Refactor colorize tests
1 parent a50e877 commit 6946167

File tree

1 file changed

+16
-52
lines changed

1 file changed

+16
-52
lines changed

Lib/test/test__colorize.py

Lines changed: 16 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -19,57 +19,15 @@ def tearDownModule():
1919
class TestColorizeFunction(unittest.TestCase):
2020
@force_not_colorized
2121
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.stderr") as stderr_mock,
32-
unittest.mock.patch("sys.flags", flags),
33-
unittest.mock.patch("_colorize.can_colorize", ORIGINAL_CAN_COLORIZE)):
34-
isatty_mock.return_value = True
35-
stderr_mock.fileno.return_value = 2
36-
stderr_mock.isatty.return_value = True
37-
with unittest.mock.patch("os.environ", {'TERM': 'dumb'}):
38-
self.assertEqual(_colorize.can_colorize(), False)
39-
with unittest.mock.patch("os.environ", {'PYTHON_COLORS': '1'}):
40-
self.assertEqual(_colorize.can_colorize(), True)
41-
with unittest.mock.patch("os.environ", {'PYTHON_COLORS': '0'}):
42-
self.assertEqual(_colorize.can_colorize(), False)
43-
with unittest.mock.patch("os.environ", {'NO_COLOR': '1'}):
44-
self.assertEqual(_colorize.can_colorize(), False)
45-
with unittest.mock.patch("os.environ",
46-
{'NO_COLOR': '1', "PYTHON_COLORS": '1'}):
47-
self.assertEqual(_colorize.can_colorize(), True)
48-
with unittest.mock.patch("os.environ", {'FORCE_COLOR': '1'}):
49-
self.assertEqual(_colorize.can_colorize(), True)
50-
with unittest.mock.patch("os.environ",
51-
{'FORCE_COLOR': '1', 'NO_COLOR': '1'}):
52-
self.assertEqual(_colorize.can_colorize(), False)
53-
with unittest.mock.patch("os.environ",
54-
{'FORCE_COLOR': '1', "PYTHON_COLORS": '0'}):
55-
self.assertEqual(_colorize.can_colorize(), False)
56-
with unittest.mock.patch("os.environ", {}):
57-
self.assertEqual(_colorize.can_colorize(), True)
58-
59-
isatty_mock.return_value = False
60-
stderr_mock.isatty.return_value = False
61-
with unittest.mock.patch("os.environ", {}):
62-
self.assertEqual(_colorize.can_colorize(), False)
63-
64-
@force_not_colorized
65-
@unittest.skipUnless(sys.platform == "win32", "Windows only")
66-
def test_colorized_detection_checks_for_environment_variables_no_vt(self):
6722
flags = unittest.mock.MagicMock(ignore_environment=False)
68-
with (unittest.mock.patch("nt._supports_virtual_terminal", return_value=False),
69-
unittest.mock.patch("os.isatty") as isatty_mock,
23+
with (unittest.mock.patch("os.isatty") as isatty_mock,
7024
unittest.mock.patch("sys.stderr") as stderr_mock,
7125
unittest.mock.patch("sys.flags", flags),
72-
unittest.mock.patch("_colorize.can_colorize", ORIGINAL_CAN_COLORIZE)):
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+
7331
isatty_mock.return_value = True
7432
stderr_mock.fileno.return_value = 2
7533
stderr_mock.isatty.return_value = True
@@ -92,12 +50,18 @@ def test_colorized_detection_checks_for_environment_variables_no_vt(self):
9250
with unittest.mock.patch("os.environ",
9351
{'FORCE_COLOR': '1', "PYTHON_COLORS": '0'}):
9452
self.assertEqual(_colorize.can_colorize(), False)
95-
with unittest.mock.patch("os.environ", {}):
96-
self.assertEqual(_colorize.can_colorize(), False)
9753

98-
isatty_mock.return_value = False
99-
stderr_mock.isatty.return_value = False
10054
with unittest.mock.patch("os.environ", {}):
55+
if sys.platform == "win32":
56+
self.assertEqual(_colorize.can_colorize(), False)
57+
58+
vt_mock.return_value = True
59+
self.assertEqual(_colorize.can_colorize(), True)
60+
else:
61+
self.assertEqual(_colorize.can_colorize(), True)
62+
63+
isatty_mock.return_value = False
64+
stderr_mock.isatty.return_value = False
10165
self.assertEqual(_colorize.can_colorize(), False)
10266

10367

0 commit comments

Comments
 (0)