@@ -1015,23 +1015,18 @@ def test_invalid_header_names(self):
10151015 ('Header\x7F ' , 'Non-ASCII character' ),
10161016 ('Header\x80 ' , 'Extended ASCII' ),
10171017 ]
1018- for thispolicy in (policy .default , policy .compat32 ):
1019- for method in (' __setitem__' , ' add_header' ):
1018+ for email_policy in (policy .default , policy .compat32 ):
1019+ for setter in (EmailMessage . __setitem__ , EmailMessage . add_header ):
10201020 for name , value in invalid_headers :
1021- with self .subTest (
1022- name = name ,
1023- description = value ,
1024- policy = thispolicy .__class__ .__name__ ,
1025- method = method ,
1026- ):
1027- message = EmailMessage (policy = thispolicy )
1028- class_method = getattr (message , method )
1029- with self .assertRaisesRegex (
1030- ValueError ,
1031- '(?i)(?=.*invalid)(?=.*header)(?=.*name)'
1032- ) as cm :
1033- class_method (name ,value )
1034- self .assertIn (f"{ name !r} " , str (cm .exception ))
1021+ self .do_test_invalid_header_names (email_policy , setter , name , value )
1022+
1023+ def do_test_invalid_header_names (self , policy , setter , name , value ):
1024+ with self .subTest (policy = policy , setter = setter , name = name , value = value ):
1025+ message = EmailMessage (policy = policy )
1026+ pattern = r'(?i)(?=.*invalid)(?=.*header)(?=.*name)'
1027+ with self .assertRaisesRegex (ValueError , pattern ) as cm :
1028+ setter (message , name , value )
1029+ self .assertIn (f"{ name !r} " , str (cm .exception ))
10351030
10361031 def test_get_body_malformed (self ):
10371032 """test for bpo-42892"""
0 commit comments