@@ -176,10 +176,31 @@ public function testShouldReturnCurlInfoStatusCode()
176176 $ infoHttpCode = curl_getinfo ($ curlHandle , CURLINFO_HTTP_CODE );
177177 curl_close ($ curlHandle );
178178
179- $ this ->assertEquals (200 , $ infoHttpCode , 'HTTP status not set. ' );
179+ $ this ->assertSame (200 , $ infoHttpCode , 'HTTP status not set. ' );
180+
180181 $ this ->curlHook ->disable ();
181182 }
182183
184+ /**
185+ * @see https://github.com/php-vcr/php-vcr/issues/136
186+ */
187+ public function testShouldReturnCurlInfoStatusCodeAsInteger ()
188+ {
189+ $ stringStatusCode = "200 " ;
190+ $ integerStatusCode = 200 ;
191+ $ this ->curlHook ->enable ($ this ->getTestCallback ($ stringStatusCode ));
192+
193+ $ curlHandle = curl_init ('http://example.com ' );
194+ curl_setopt ($ curlHandle , CURLOPT_RETURNTRANSFER , true );
195+ curl_exec ($ curlHandle );
196+ $ infoHttpCode = curl_getinfo ($ curlHandle , CURLINFO_HTTP_CODE );
197+ curl_close ($ curlHandle );
198+
199+ $ this ->assertSame ($ integerStatusCode , $ infoHttpCode , 'HTTP status not set. ' );
200+
201+ $ this ->curlHook ->disable ();
202+ }
203+
183204 public function testShouldReturnCurlInfoAll ()
184205 {
185206 $ this ->curlHook ->enable ($ this ->getTestCallback ());
@@ -340,11 +361,11 @@ function (Request $request) use ($testClass) {
340361 /**
341362 * @return \callable
342363 */
343- protected function getTestCallback ()
364+ protected function getTestCallback ($ statusCode = 200 )
344365 {
345366 $ testClass = $ this ;
346- return function () use ($ testClass ) {
347- return new Response (200 , array (), $ testClass ->expected );
367+ return function () use ($ statusCode , $ testClass ) {
368+ return new Response ($ statusCode , array (), $ testClass ->expected );
348369 };
349370 }
350371}
0 commit comments