@@ -15,17 +15,6 @@ class TestDefectsBase:
1515 def _raise_point (self , defect ):
1616 yield
1717
18- def get_defects (self , obj ):
19- return obj .defects
20-
21- def check_defect (self , defect , string ):
22- msg = None
23- with self ._raise_point (defect ):
24- msg = self ._str_msg (string )
25- self .assertEqual (len (self .get_defects (msg )), 1 )
26- self .assertDefectsEqual (self .get_defects (msg ), [defect ])
27- return msg
28-
2918 def test_same_boundary_inner_outer (self ):
3019 source = textwrap .dedent ("""\
3120 Subject: XX
@@ -310,37 +299,48 @@ def test_missing_ending_boundary(self):
310299 [errors .CloseBoundaryNotFoundDefect ])
311300
312301 def test_line_beginning_colon (self ):
313- msg = self .check_defect (errors .InvalidHeaderDefect ,
314- 'Subject: Dummy subject\r \n '
315- ': faulty header line\r \n '
316- '\r \n '
317- 'body\r \n '
302+ string = (
303+ "Subject: Dummy subject\r \n : faulty header line\r \n \r \n body\r \n "
318304 )
319- if msg :
320- self .assertEqual (msg .items (), [('Subject' , 'Dummy subject' )])
321- self .assertEqual (msg .get_payload (), 'body\r \n ' )
305+
306+ with self ._raise_point (errors .InvalidHeaderDefect ):
307+ msg = self ._str_msg (string )
308+ self .assertEqual (len (self .get_defects (msg )), 1 )
309+ self .assertDefectsEqual (
310+ self .get_defects (msg ), [errors .InvalidHeaderDefect ]
311+ )
312+
313+ if msg :
314+ self .assertEqual (msg .items (), [("Subject" , "Dummy subject" )])
315+ self .assertEqual (msg .get_payload (), "body\r \n " )
322316
323317 def test_misplaced_envelope (self ):
324- msg = self .check_defect (errors .MisplacedEnvelopeHeaderDefect ,
325- 'Subject: Dummy subject\r \n '
326- 'From wtf\r \n '
327- 'To: abc\r \n '
328- '\r \n '
329- 'body\r \n '
318+ string = (
319+ "Subject: Dummy subject\r \n From wtf\r \n To: abc\r \n \r \n body\r \n "
330320 )
331- if msg :
332- headers = [('Subject' , 'Dummy subject' ), ('To' , 'abc' )]
333- self .assertEqual (msg .items (), headers )
334- self .assertEqual (msg .get_payload (), 'body\r \n ' )
321+ with self ._raise_point (errors .MisplacedEnvelopeHeaderDefect ):
322+ msg = self ._str_msg (string )
323+ self .assertEqual (len (self .get_defects (msg )), 1 )
324+ self .assertDefectsEqual (
325+ self .get_defects (msg ), [errors .MisplacedEnvelopeHeaderDefect ]
326+ )
327+
328+ if msg :
329+ headers = [("Subject" , "Dummy subject" ), ("To" , "abc" )]
330+ self .assertEqual (msg .items (), headers )
331+ self .assertEqual (msg .get_payload (), "body\r \n " )
332+
335333
336334
337335class TestCompat32 (TestDefectsBase , TestEmailBase ):
338336
339337 policy = policy .compat32
340338
339+ def get_defects (self , obj ):
340+ return obj .defects
341+
341342
342343class TestDefectDetection (TestDefectsBase , TestEmailBase ):
343- pass
344344
345345 def get_defects (self , obj ):
346346 return obj .defects
@@ -371,6 +371,9 @@ def _raise_point(self, defect):
371371 with self .assertRaises (defect ):
372372 yield
373373
374+ def get_defects (self , obj ):
375+ return obj .defects
376+
374377
375378if __name__ == '__main__' :
376379 unittest .main ()
0 commit comments