@@ -23,30 +23,37 @@ public function testSend( bool $fullStmt ) : void {
2323 $ version = '1.1 '
2424 );
2525
26+ $ response = $ response ->withHeader ('X-Test ' , 'test ' )
27+ ->withAddedHeader ('X-Test ' , 'test2 ' )
28+ ->withAddedHeader ('X-Test ' , 'test3 ' );
29+
2630 $ sent_headers = [];
2731 $ header = $ this ->getFunctionMock (__NAMESPACE__ , 'header ' );
2832
29- $ header ->expects ($ this ->any ())->willReturnCallback (function ( $ header , $ replace ) use ( &$ sent_headers ) {
30- return $ sent_headers [] = $ header ;
31- });
33+ $ header ->expects ($ this ->any ())
34+ ->willReturnCallback (function ( $ header , $ replace ) use ( &$ sent_headers ) {
35+ return $ sent_headers [] = [ $ header , $ replace ];
36+ });
3237
3338 $ sender = new ResponseSender ($ fullStmt );
3439
3540 ob_start ();
3641 $ sender ->send ($ response );
3742 $ output = ob_get_clean ();
3843
44+ $ expectedHeaders = [
45+ [ 'Content-Type: text/plain ' , true ],
46+ [ 'X-Test: test ' , true ],
47+ [ 'X-Test: test2 ' , false ],
48+ [ 'X-Test: test3 ' , false ],
49+ ];
50+
3951 if ( $ fullStmt ) {
40- $ this ->assertSame ([
41- "HTTP/ $ version $ status OK " ,
42- "Content-Type: text/plain " ,
43- ], $ sent_headers );
44- } else {
45- $ this ->assertSame ([
46- "Content-Type: text/plain " ,
47- ], $ sent_headers );
52+ array_unshift ($ expectedHeaders , ["HTTP/ $ version $ status OK " , true ]);
4853 }
4954
55+ $ this ->assertSame ($ expectedHeaders , $ sent_headers );
56+
5057 $ this ->assertSame ($ body , $ output );
5158 }
5259
0 commit comments