2121class PhpDebugBarMiddlewareTest extends TestCase
2222{
2323 protected $ debugbarRenderer ;
24+ /** @var PhpDebugBarMiddleware */
2425 protected $ middleware ;
2526
2627 protected function setUp ()
@@ -76,6 +77,7 @@ public function testForceAttachDebugbarIfHeaderPresents(): void
7677
7778 $ result = $ this ->middleware ->process ($ request , $ requestHandler );
7879
80+ $ this ->assertSame (200 , $ result ->getStatusCode ());
7981 $ this ->assertSame ("<html><head>RenderHead</head><body><h1>DebugBar</h1><p>Response:</p><pre>HTTP/1.1 200 OK \r\n\r\nResponseBody</pre>RenderBody</body></html> " , (string ) $ result ->getBody ());
8082 }
8183
@@ -108,7 +110,7 @@ public function testForceAttachDebugbarIfAttributePresents(): void
108110 public function testAttachToNoneHtmlResponse (): void
109111 {
110112 $ request = new ServerRequest ([], [], null , null , 'php://input ' , ['Accept ' => 'text/html ' ]);
111- $ response = new Response ();
113+ $ response = ( new Response ())-> withHeader ( ' test-header ' , ' value ' );
112114 $ response ->getBody ()->write ('ResponseBody ' );
113115
114116 $ requestHandler = new RequestHandlerStub ($ response );
@@ -117,22 +119,45 @@ public function testAttachToNoneHtmlResponse(): void
117119
118120 $ this ->assertTrue ($ requestHandler ->isCalled (), 'Request handler is not called ' );
119121 $ this ->assertNotSame ($ response , $ result );
120- $ this ->assertSame ("<html><head>RenderHead</head><body><h1>DebugBar</h1><p>Response:</p><pre>HTTP/1.1 200 OK \r\n\r\nResponseBody</pre>RenderBody</body></html> " , (string ) $ result ->getBody ());
122+ $ this ->assertSame ("<html><head>RenderHead</head><body><h1>DebugBar</h1><p>Response:</p><pre>HTTP/1.1 200 OK \r\n Test-Header: value \r\ n\r\nResponseBody</pre>RenderBody</body></html> " , (string ) $ result ->getBody ());
121123 }
122124
123125 public function testNotAttachToRedirectResponse (): void
124126 {
125127 $ request = new ServerRequest ([], [], null , null , 'php://input ' , ['Accept ' => 'text/html ' ]);
126- $ response = (new Response ())->withStatus (302 )->withAddedHeader ('Location ' , 'some-location ' );
128+ $ response = (new Response ())->withStatus (300 )->withAddedHeader ('Location ' , 'some-location ' );
127129
128130 $ requestHandler = new RequestHandlerStub ($ response );
129131
130132 $ result = $ this ->middleware ->process ($ request , $ requestHandler );
131133
132- $ this ->assertTrue ($ requestHandler ->isCalled (), 'Request handler is not called ' );
133134 $ this ->assertSame ($ response , $ result );
134135 }
135136
137+ public function testAttachToNonRedirectResponse (): void
138+ {
139+ $ request = new ServerRequest ([], [], null , null , 'php://input ' , ['Accept ' => 'text/html ' ]);
140+ $ response = (new Response ())->withStatus (299 )->withAddedHeader ('Location ' , 'some-location ' );
141+
142+ $ requestHandler = new RequestHandlerStub ($ response );
143+
144+ $ result = $ this ->middleware ->process ($ request , $ requestHandler );
145+
146+ $ this ->assertNotSame ($ response , $ result );
147+ }
148+
149+ public function testAttachToNonRedirectResponse2 (): void
150+ {
151+ $ request = new ServerRequest ([], [], null , null , 'php://input ' , ['Accept ' => 'text/html ' ]);
152+ $ response = (new Response ())->withStatus (400 )->withAddedHeader ('Location ' , 'some-location ' );
153+
154+ $ requestHandler = new RequestHandlerStub ($ response );
155+
156+ $ result = $ this ->middleware ->process ($ request , $ requestHandler );
157+
158+ $ this ->assertNotSame ($ response , $ result );
159+ }
160+
136161 public function testAttachToRedirectResponseWithoutLocation (): void
137162 {
138163 $ request = new ServerRequest ([], [], null , null , 'php://input ' , ['Accept ' => 'text/html ' ]);
@@ -268,6 +293,7 @@ public function testHandleStaticFile(string $extension, string $contentType): vo
268293 $ this ->assertFalse ($ requestHandler ->isCalled (), 'Request handler is called ' );
269294 $ this ->assertNotSame ($ response , $ result );
270295 $ this ->assertSame ($ contentType , $ result ->getHeaderLine ('Content-type ' ));
296+ $ this ->assertSame (200 , $ result ->getStatusCode ());
271297 $ this ->assertSame ('filecontent ' , (string ) $ result ->getBody ());
272298 }
273299
0 commit comments