@@ -728,7 +728,7 @@ def test_nonascii_add_header_with_tspecial(self):
728728 "attachment; filename*=utf-8''Fu%C3%9Fballer%20%5Bfilename%5D.ppt" ,
729729 msg ['Content-Disposition' ])
730730
731- def test_invalid_headers (self ):
731+ def test_invalid_header_names (self ):
732732 invalid_headers = [
733733 ('Invalid Header' , 'contains space' ),
734734 ('Tab\t Header' , 'contains tab' ),
@@ -738,18 +738,20 @@ def test_invalid_headers(self):
738738 ('TrailingSpace ' , 'ends with space' ),
739739 ]
740740 for name , value in invalid_headers :
741- with self .assertRaises (ValueError ) as cm :
742- Message ().add_header (name , value )
743- self .assertIn (f"Invalid header field name { name !r} " , str (cm .exception ))
741+ with self .subTest (name = name , problem = value ):
742+ with self .assertRaises (ValueError ) as cm :
743+ Message ().add_header (name , value )
744+ self .assertIn (f"Invalid header field name { name !r} " , str (cm .exception ))
744745
745746 invalid_headers = [
746747 ('Header\x7F ' , 'Non-ASCII character' ),
747748 ('Header\x1F ' , 'control character' ),
748749 ]
749750 for name , value in invalid_headers :
750- with self .assertRaises (ValueError ) as cm :
751- Message ().add_header (name , value )
752- self .assertIn (f"Invalid header field name { name !r} " , str (cm .exception ))
751+ with self .subTest (name = name , problem = value ):
752+ with self .assertRaises (ValueError ) as cm :
753+ Message ().add_header (name , value )
754+ self .assertIn (f"Header field name contains invalid characters: { name !r} " , str (cm .exception ))
753755
754756 def test_binary_quopri_payload (self ):
755757 for charset in ('latin-1' , 'ascii' ):
0 commit comments