Skip to content

Commit 863ea99

Browse files
committed
Add 100% code coverage
1 parent 3152450 commit 863ea99

File tree

1 file changed

+46
-2
lines changed

1 file changed

+46
-2
lines changed

test/PhpDebugBarMiddlewareTest.php

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
use DebugBar\JavascriptRenderer;
66
use PhpMiddleware\PhpDebugBar\PhpDebugBarMiddleware;
7+
use Zend\Diactoros\Response;
8+
use Zend\Diactoros\ServerRequest;
79

810
/**
911
* PhpDebugBarMiddlewareTest
@@ -23,8 +25,8 @@ protected function setUp()
2325

2426
public function testNotAttachIfNotAccept()
2527
{
26-
$request = new \Zend\Diactoros\ServerRequest([], [], null, null, 'php://input', ['Accept: application/json']);
27-
$response = new \Zend\Diactoros\Response();
28+
$request = new ServerRequest();
29+
$response = new Response();
2830
$calledOut = false;
2931
$outFunction = function ($request, $response) use (&$calledOut) {
3032
$calledOut = true;
@@ -36,4 +38,46 @@ public function testNotAttachIfNotAccept()
3638
$this->assertTrue($calledOut, 'Out is not called');
3739
$this->assertSame($response, $result);
3840
}
41+
42+
public function testAttachToNoneHtmlResponse()
43+
{
44+
$request = new ServerRequest([], [], null, null, 'php://input', ['Accept' => 'text/html']);
45+
$response = new Response();
46+
$response->getBody()->write('ResponseBody');
47+
$calledOut = false;
48+
$outFunction = function ($request, $response) use (&$calledOut) {
49+
$calledOut = true;
50+
return $response;
51+
};
52+
53+
$this->debugbarRenderer->expects($this->once())->method('renderHead')->willReturn('RenderHead');
54+
$this->debugbarRenderer->expects($this->once())->method('render')->willReturn('RenderBody');
55+
56+
$result = call_user_func($this->middleware, $request, $response, $outFunction);
57+
58+
$this->assertTrue($calledOut, 'Out is not called');
59+
$this->assertNotSame($response, $result);
60+
$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());
61+
}
62+
63+
public function testAttachToHtmlResponse()
64+
{
65+
$request = new ServerRequest([], [], null, null, 'php://input', ['Accept' => 'text/html']);
66+
$response = new Response('php://memory', 200, ['Content-Type' => 'text/html']);
67+
$response->getBody()->write('ResponseBody');
68+
$calledOut = false;
69+
$outFunction = function ($request, $response) use (&$calledOut) {
70+
$calledOut = true;
71+
return $response;
72+
};
73+
74+
$this->debugbarRenderer->expects($this->once())->method('renderHead')->willReturn('RenderHead');
75+
$this->debugbarRenderer->expects($this->once())->method('render')->willReturn('RenderBody');
76+
77+
$result = call_user_func($this->middleware, $request, $response, $outFunction);
78+
79+
$this->assertTrue($calledOut, 'Out is not called');
80+
$this->assertSame($response, $result);
81+
$this->assertSame("ResponseBodyRenderHeadRenderBody", (string) $result->getBody());
82+
}
3983
}

0 commit comments

Comments
 (0)