@@ -609,3 +609,61 @@ async def test_assertions_response_is_ok_fail(page: Page, server: Server) -> Non
609609 error_message = str (excinfo .value )
610610 assert ("→ GET " + server .PREFIX + "/unknown" ) in error_message
611611 assert "← 404 Not Found" in error_message
612+
613+
614+ async def test_should_print_response_with_text_content_type_if_to_be_ok_fails (
615+ page : Page , server : Server
616+ ) -> None :
617+ server .set_route (
618+ "/text-content-type" ,
619+ lambda r : (
620+ r .setResponseCode (404 ),
621+ r .setHeader ("content-type" , "text/plain" ),
622+ r .write (b"Text error" ),
623+ r .finish (),
624+ ),
625+ )
626+ server .set_route (
627+ "/no-content-type" ,
628+ lambda r : (
629+ r .setResponseCode (404 ),
630+ r .write (b"No content type error" ),
631+ r .finish (),
632+ ),
633+ )
634+ server .set_route (
635+ "/binary-content-type" ,
636+ lambda r : (
637+ r .setResponseCode (404 ),
638+ r .setHeader ("content-type" , "image/bmp" ),
639+ r .write (b"Image content type error" ),
640+ r .finish (),
641+ ),
642+ )
643+
644+ response = await page .request .get (server .PREFIX + "/text-content-type" )
645+ with pytest .raises (AssertionError ) as excinfo :
646+ await expect (response ).to_be_ok ()
647+ error_message = str (excinfo .value )
648+ assert ("→ GET " + server .PREFIX + "/text-content-type" ) in error_message
649+ assert "← 404 Not Found" in error_message
650+ assert "Response Text:" in error_message
651+ assert "Text error" in error_message
652+
653+ response = await page .request .get (server .PREFIX + "/no-content-type" )
654+ with pytest .raises (AssertionError ) as excinfo :
655+ await expect (response ).to_be_ok ()
656+ error_message = str (excinfo .value )
657+ assert ("→ GET " + server .PREFIX + "/no-content-type" ) in error_message
658+ assert "← 404 Not Found" in error_message
659+ assert "Response Text:" not in error_message
660+ assert "No content type error" not in error_message
661+
662+ response = await page .request .get (server .PREFIX + "/binary-content-type" )
663+ with pytest .raises (AssertionError ) as excinfo :
664+ await expect (response ).to_be_ok ()
665+ error_message = str (excinfo .value )
666+ assert ("→ GET " + server .PREFIX + "/binary-content-type" ) in error_message
667+ assert "← 404 Not Found" in error_message
668+ assert "Response Text:" not in error_message
669+ assert "Image content type error" not in error_message
0 commit comments