1010
1111namespace Slim \Tests \Handlers ;
1212
13+ use Prophecy \Argument ;
1314use Psr \Http \Message \ResponseInterface ;
1415use Psr \Log \LoggerInterface ;
1516use ReflectionClass ;
@@ -40,15 +41,15 @@ public function testDetermineRenderer()
4041 $ class = new ReflectionClass (ErrorHandler::class);
4142
4243 $ callableResolverProperty = $ class ->getProperty ('callableResolver ' );
43- $ callableResolverProperty ->setAccessible (true );
44+ $ this ->setAccessible ($ callableResolverProperty );
4445 $ callableResolverProperty ->setValue ($ handler , $ this ->getCallableResolver ());
4546
4647 $ reflectionProperty = $ class ->getProperty ('contentType ' );
47- $ reflectionProperty ->setAccessible (true );
48+ $ this ->setAccessible ($ reflectionProperty );
4849 $ reflectionProperty ->setValue ($ handler , 'application/json ' );
4950
5051 $ method = $ class ->getMethod ('determineRenderer ' );
51- $ method ->setAccessible (true );
52+ $ this ->setAccessible ($ method );
5253
5354 $ renderer = $ method ->invoke ($ handler );
5455 $ this ->assertIsCallable ($ renderer );
@@ -78,15 +79,15 @@ public function testDetermineStatusCode()
7879 $ class = new ReflectionClass (ErrorHandler::class);
7980
8081 $ reflectionProperty = $ class ->getProperty ('responseFactory ' );
81- $ reflectionProperty ->setAccessible (true );
82+ $ this ->setAccessible ($ reflectionProperty );
8283 $ reflectionProperty ->setValue ($ handler , $ this ->getResponseFactory ());
8384
8485 $ reflectionProperty = $ class ->getProperty ('exception ' );
85- $ reflectionProperty ->setAccessible (true );
86+ $ this ->setAccessible ($ reflectionProperty );
8687 $ reflectionProperty ->setValue ($ handler , new HttpNotFoundException ($ request ));
8788
8889 $ method = $ class ->getMethod ('determineStatusCode ' );
89- $ method ->setAccessible (true );
90+ $ this ->setAccessible ($ method );
9091
9192 $ statusCode = $ method ->invoke ($ handler );
9293 $ this ->assertSame ($ statusCode , 404 );
@@ -133,15 +134,15 @@ public function testHalfValidContentType()
133134 $ class = new ReflectionClass (ErrorHandler::class);
134135
135136 $ reflectionProperty = $ class ->getProperty ('responseFactory ' );
136- $ reflectionProperty ->setAccessible (true );
137+ $ this ->setAccessible ($ reflectionProperty );
137138 $ reflectionProperty ->setValue ($ handler , $ this ->getResponseFactory ());
138139
139140 $ reflectionProperty = $ class ->getProperty ('errorRenderers ' );
140- $ reflectionProperty ->setAccessible (true );
141+ $ this ->setAccessible ($ reflectionProperty );
141142 $ reflectionProperty ->setValue ($ handler , $ newErrorRenderers );
142143
143144 $ method = $ class ->getMethod ('determineContentType ' );
144- $ method ->setAccessible (true );
145+ $ this ->setAccessible ($ method );
145146
146147 $ contentType = $ method ->invoke ($ handler , $ request );
147148
@@ -165,15 +166,15 @@ public function testDetermineContentTypeTextPlainMultiAcceptHeader()
165166 $ class = new ReflectionClass (ErrorHandler::class);
166167
167168 $ reflectionProperty = $ class ->getProperty ('responseFactory ' );
168- $ reflectionProperty ->setAccessible (true );
169+ $ this ->setAccessible ($ reflectionProperty );
169170 $ reflectionProperty ->setValue ($ handler , $ this ->getResponseFactory ());
170171
171172 $ reflectionProperty = $ class ->getProperty ('errorRenderers ' );
172- $ reflectionProperty ->setAccessible (true );
173+ $ this ->setAccessible ($ reflectionProperty );
173174 $ reflectionProperty ->setValue ($ handler , $ errorRenderers );
174175
175176 $ method = $ class ->getMethod ('determineContentType ' );
176- $ method ->setAccessible (true );
177+ $ this ->setAccessible ($ method );
177178
178179 $ contentType = $ method ->invoke ($ handler , $ request );
179180
@@ -196,15 +197,15 @@ public function testDetermineContentTypeApplicationJsonOrXml()
196197 $ class = new ReflectionClass (ErrorHandler::class);
197198
198199 $ reflectionProperty = $ class ->getProperty ('responseFactory ' );
199- $ reflectionProperty ->setAccessible (true );
200+ $ this ->setAccessible ($ reflectionProperty );
200201 $ reflectionProperty ->setValue ($ handler , $ this ->getResponseFactory ());
201202
202203 $ reflectionProperty = $ class ->getProperty ('errorRenderers ' );
203- $ reflectionProperty ->setAccessible (true );
204+ $ this ->setAccessible ($ reflectionProperty );
204205 $ reflectionProperty ->setValue ($ handler , $ errorRenderers );
205206
206207 $ method = $ class ->getMethod ('determineContentType ' );
207- $ method ->setAccessible (true );
208+ $ this ->setAccessible ($ method );
208209
209210 $ contentType = $ method ->invoke ($ handler , $ request );
210211
@@ -224,7 +225,7 @@ public function testAcceptableMediaTypeIsNotFirstInList()
224225 // provide access to the determineContentType() as it's a protected method
225226 $ class = new ReflectionClass (ErrorHandler::class);
226227 $ method = $ class ->getMethod ('determineContentType ' );
227- $ method ->setAccessible (true );
228+ $ this ->setAccessible ($ method );
228229
229230 // use a mock object here as ErrorHandler cannot be directly instantiated
230231 $ handler = $ this ->createMock (ErrorHandler::class);
@@ -242,7 +243,7 @@ public function testRegisterErrorRenderer()
242243
243244 $ reflectionClass = new ReflectionClass (ErrorHandler::class);
244245 $ reflectionProperty = $ reflectionClass ->getProperty ('errorRenderers ' );
245- $ reflectionProperty ->setAccessible (true );
246+ $ this ->setAccessible ($ reflectionProperty );
246247 $ errorRenderers = $ reflectionProperty ->getValue ($ handler );
247248
248249 $ this ->assertArrayHasKey ('application/slim ' , $ errorRenderers );
@@ -255,11 +256,11 @@ public function testSetDefaultErrorRenderer()
255256
256257 $ reflectionClass = new ReflectionClass (ErrorHandler::class);
257258 $ reflectionProperty = $ reflectionClass ->getProperty ('defaultErrorRenderer ' );
258- $ reflectionProperty ->setAccessible (true );
259+ $ this ->setAccessible ($ reflectionProperty );
259260 $ defaultErrorRenderer = $ reflectionProperty ->getValue ($ handler );
260261
261262 $ defaultErrorRendererContentTypeProperty = $ reflectionClass ->getProperty ('defaultErrorRendererContentType ' );
262- $ defaultErrorRendererContentTypeProperty ->setAccessible (true );
263+ $ this ->setAccessible ($ defaultErrorRendererContentTypeProperty );
263264 $ defaultErrorRendererContentType = $ defaultErrorRendererContentTypeProperty ->getValue ($ handler );
264265
265266 $ this ->assertSame (PlainTextErrorRenderer::class, $ defaultErrorRenderer );
@@ -392,20 +393,29 @@ public function testLogErrorRenderer()
392393 ->willReturn ($ renderer )
393394 ->shouldBeCalledOnce ();
394395
395- $ handler = new ErrorHandler ($ callableResolverProphecy ->reveal (), $ this ->getResponseFactory ());
396+ $ loggerProphecy = $ this ->prophesize (LoggerInterface::class);
397+ $ loggerProphecy
398+ ->error (Argument::type ('string ' ))
399+ ->shouldBeCalled ();
400+
401+ $ handler = new ErrorHandler (
402+ $ callableResolverProphecy ->reveal (),
403+ $ this ->getResponseFactory (),
404+ $ loggerProphecy ->reveal ()
405+ );
396406 $ handler ->setLogErrorRenderer ('logErrorRenderer ' );
397407
398408 $ displayErrorDetailsProperty = new ReflectionProperty ($ handler , 'displayErrorDetails ' );
399- $ displayErrorDetailsProperty ->setAccessible (true );
409+ $ this ->setAccessible ($ displayErrorDetailsProperty );
400410 $ displayErrorDetailsProperty ->setValue ($ handler , true );
401411
402412 $ exception = new RuntimeException ();
403413 $ exceptionProperty = new ReflectionProperty ($ handler , 'exception ' );
404- $ exceptionProperty ->setAccessible (true );
414+ $ this ->setAccessible ($ exceptionProperty );
405415 $ exceptionProperty ->setValue ($ handler , $ exception );
406416
407417 $ writeToErrorLogMethod = new ReflectionMethod ($ handler , 'writeToErrorLog ' );
408- $ writeToErrorLogMethod ->setAccessible (true );
418+ $ this ->setAccessible ($ writeToErrorLogMethod );
409419 $ writeToErrorLogMethod ->invoke ($ handler );
410420 }
411421}
0 commit comments