@@ -28,9 +28,12 @@ def test_colorized_detection_checks_for_environment_variables(self):
2828
2929 flags = unittest .mock .MagicMock (ignore_environment = False )
3030 with (unittest .mock .patch ("os.isatty" ) as isatty_mock ,
31+ unittest .mock .patch ("sys.stderr" ) as stderr_mock ,
3132 unittest .mock .patch ("sys.flags" , flags ),
3233 unittest .mock .patch ("_colorize.can_colorize" , ORIGINAL_CAN_COLORIZE )):
3334 isatty_mock .return_value = True
35+ stderr_mock .fileno .return_value = 2
36+ stderr_mock .isatty .return_value = True
3437 with unittest .mock .patch ("os.environ" , {'TERM' : 'dumb' }):
3538 self .assertEqual (_colorize .can_colorize (), False )
3639 with unittest .mock .patch ("os.environ" , {'PYTHON_COLORS' : '1' }):
@@ -50,10 +53,53 @@ def test_colorized_detection_checks_for_environment_variables(self):
5053 with unittest .mock .patch ("os.environ" ,
5154 {'FORCE_COLOR' : '1' , "PYTHON_COLORS" : '0' }):
5255 self .assertEqual (_colorize .can_colorize (), False )
56+ with unittest .mock .patch ("os.environ" , {}):
57+ self .assertEqual (_colorize .can_colorize (), True )
58+
5359 isatty_mock .return_value = False
60+ stderr_mock .isatty .return_value = False
5461 with unittest .mock .patch ("os.environ" , {}):
5562 self .assertEqual (_colorize .can_colorize (), False )
5663
64+ @force_not_colorized
65+ @unittest .skipUnless (sys .platform == "win32" , "Windows only" )
66+ def test_colorized_detection_checks_for_environment_variables_no_vt (self ):
67+ 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 ,
70+ unittest .mock .patch ("sys.stderr" ) as stderr_mock ,
71+ unittest .mock .patch ("sys.flags" , flags ),
72+ unittest .mock .patch ("_colorize.can_colorize" , ORIGINAL_CAN_COLORIZE )):
73+ isatty_mock .return_value = True
74+ stderr_mock .fileno .return_value = 2
75+ stderr_mock .isatty .return_value = True
76+ with unittest .mock .patch ("os.environ" , {'TERM' : 'dumb' }):
77+ self .assertEqual (_colorize .can_colorize (), False )
78+ with unittest .mock .patch ("os.environ" , {'PYTHON_COLORS' : '1' }):
79+ self .assertEqual (_colorize .can_colorize (), True )
80+ with unittest .mock .patch ("os.environ" , {'PYTHON_COLORS' : '0' }):
81+ self .assertEqual (_colorize .can_colorize (), False )
82+ with unittest .mock .patch ("os.environ" , {'NO_COLOR' : '1' }):
83+ self .assertEqual (_colorize .can_colorize (), False )
84+ with unittest .mock .patch ("os.environ" ,
85+ {'NO_COLOR' : '1' , "PYTHON_COLORS" : '1' }):
86+ self .assertEqual (_colorize .can_colorize (), True )
87+ with unittest .mock .patch ("os.environ" , {'FORCE_COLOR' : '1' }):
88+ self .assertEqual (_colorize .can_colorize (), True )
89+ with unittest .mock .patch ("os.environ" ,
90+ {'FORCE_COLOR' : '1' , 'NO_COLOR' : '1' }):
91+ self .assertEqual (_colorize .can_colorize (), False )
92+ with unittest .mock .patch ("os.environ" ,
93+ {'FORCE_COLOR' : '1' , "PYTHON_COLORS" : '0' }):
94+ self .assertEqual (_colorize .can_colorize (), False )
95+ with unittest .mock .patch ("os.environ" , {}):
96+ self .assertEqual (_colorize .can_colorize (), False )
97+
98+ isatty_mock .return_value = False
99+ stderr_mock .isatty .return_value = False
100+ with unittest .mock .patch ("os.environ" , {}):
101+ self .assertEqual (_colorize .can_colorize (), False )
102+
57103
58104if __name__ == "__main__" :
59105 unittest .main ()
0 commit comments