@@ -73,4 +73,34 @@ public function testSetCurlOptionOnRequestSetMultipleHeadersTwice()
7373 );
7474 $ this assertEquals ($ expected$ requestgetHeaders ());
7575 }
76+ 
77+  public  function  testSetCurlOptionReadFunctionMissingSize ()
78+  {
79+  $ this setExpectedException ('\VCR\VCRException ' , 'To set a CURLOPT_READFUNCTION, CURLOPT_INFILESIZE must be set. ' );
80+  $ requestnew  Request ('POST ' , 'example.com ' );
81+ 
82+  CurlHelper::setCurlOptionOnRequest ($ requestCURLOPT_READFUNCTION , null , curl_init ());
83+ 
84+  $ this assertEquals ($ expected$ requestgetBody ());
85+  }
86+ 
87+  public  function  testSetCurlOptionReadFunction ()
88+  {
89+  $ expected'test body ' ;
90+  $ requestnew  Request ('POST ' , 'example.com ' );
91+ 
92+  $ test$ this 
93+  $ callbackfunction  ($ curlHandle$ fileHandle$ sizeuse  ($ test$ expected
94+  $ testassertInternalType ('resource ' , $ curlHandle
95+  $ testassertInternalType ('resource ' , $ fileHandle
96+  $ testassertEquals (strlen ($ expected$ size
97+ 
98+  return  $ expected
99+  };
100+ 
101+  CurlHelper::setCurlOptionOnRequest ($ requestCURLOPT_INFILESIZE , strlen ($ expected
102+  CurlHelper::setCurlOptionOnRequest ($ requestCURLOPT_READFUNCTION , $ callbackcurl_init ());
103+ 
104+  $ this assertEquals ($ expected$ requestgetBody ());
105+  }
76106}
0 commit comments