@@ -660,10 +660,12 @@ def test_partially_complete_review(self):
660660 "state" : ReviewRequestStateName .objects .get (slug = "part-completed" ).pk ,
661661 "reviewed_rev" : review_req .doc .rev ,
662662 "review_submission" : "enter" ,
663- "review_content" : "This is a review\n with two lines " ,
663+ "review_content" : "This is a review with a somewhat long line spanning over 80 characters to test word wrapping \n and another line " ,
664664 })
665665 self .assertEqual (r .status_code , 302 )
666666
667+
668+
667669 review_req = reload_db_objects (review_req )
668670 self .assertEqual (review_req .state_id , "part-completed" )
669671 self .assertTrue (review_req .doc .rev in review_req .review .name )
@@ -675,12 +677,17 @@ def test_partially_complete_review(self):
675677
676678 self .assertTrue (review_req .team .list_email in outbox [1 ]["To" ])
677679 self .assertTrue ("partial review" in outbox [1 ]["Subject" ].lower ())
678- self .assertTrue ("This is a review" in outbox [1 ].get_payload (decode = True ).decode ("utf-8" ))
680+ body = outbox [1 ].get_payload (decode = True ).decode ("utf-8" )
681+ self .assertTrue ("This is a review" in body )
682+ # This review has a line longer than 80, but less than 100; it should
683+ # not be wrapped.
684+
685+ self .assertTrue (not any ( len (line ) > 100 for line in body .splitlines () ))
686+ self .assertTrue (any ( len (line ) > 80 for line in body .splitlines () ))
679687
680688 first_review = review_req .review
681689 first_reviewer = review_req .reviewer
682690
683-
684691 # complete
685692 review_req = ReviewRequest .objects .get (state = "requested" , doc = review_req .doc , team = review_req .team )
686693 self .assertEqual (review_req .reviewer , None )
@@ -694,7 +701,7 @@ def test_partially_complete_review(self):
694701 "state" : ReviewRequestStateName .objects .get (slug = "completed" ).pk ,
695702 "reviewed_rev" : review_req .doc .rev ,
696703 "review_submission" : "enter" ,
697- "review_content" : "This is another review\n with \n three lines " ,
704+ "review_content" : "This is another review with a really, really, really, really, really, really, really, really, really, really long line. " ,
698705 })
699706 self .assertEqual (r .status_code , 302 )
700707
@@ -705,6 +712,13 @@ def test_partially_complete_review(self):
705712 self .assertTrue (first_review .name != second_review .name )
706713 self .assertTrue (second_review .name .endswith ("-2" )) # uniquified
707714
715+ # This review has a line longer than 100; it should be wrapped to less
716+ # than 80.
717+ body = outbox [2 ].get_payload (decode = True ).decode ("utf-8" )
718+ self .assertIn ('really, really, really' , body )
719+ self .assertTrue (not any ( len (line ) > 80 for line in body .splitlines () ))
720+
721+
708722 def test_revise_review_enter_content (self ):
709723 review_req , url = self .setup_complete_review_test ()
710724 review_req .state = ReviewRequestStateName .objects .get (slug = "no-response" )
0 commit comments