@@ -55,22 +55,27 @@ def setUp(self):
5555
5656 def test_format_value_text_control_chars (self ):
5757 """
58- Test that control chars are escaped for terminal display (default),
59- but preserved when escape_control_chars=False is passed (for CSV export).
58+ Test that control chars AND literal backslashes are escaped for terminal
59+ display (default), but BOTH are preserved verbatim when
60+ escape_control_chars=False is passed (for CSV export).
6061 """
6162 self .assertEqual (
6263 format_value_text ("Hello World" , encoding = 'utf-8' , colormap = NO_COLOR_MAP ),
6364 "Hello World"
6465 )
6566
66- test_string = "Hello \n World \x00 \t Test \r "
67+ test_string = "C: \\ Users \\ alice \n Hello \x00 "
6768
6869 terminal_output = format_value_text (test_string , encoding = 'utf-8' , colormap = NO_COLOR_MAP )
69- self .assertEqual (terminal_output , "Hello \\ nWorld \\ x00 \\ tTest \\ r " )
70+ self .assertEqual (terminal_output , "C: \\ \\ Users \\ \\ alice \\ nHello \\ x00 " )
7071
71- csv_output = format_value_text (test_string , encoding = 'utf-8' , colormap = NO_COLOR_MAP , escape_control_chars = False )
72+ csv_output = format_value_text (test_string , encoding = 'utf-8' , colormap = NO_COLOR_MAP ,
73+ escape_control_chars = False )
7274 self .assertEqual (csv_output , test_string )
7375
76+ self .assertIn ('C:\\ Users' , csv_output )
77+ self .assertNotIn ('C:\\ \\ Users' , csv_output )
78+
7479 def test_format_value_list_control_chars (self ):
7580 """ Test control character propagation in lists """
7681 list_val = ["line1\n line2" , "null\x00 byte" ]
0 commit comments