Beispiel #1
0
 /**
  * Test asynchronous request through socketPerform() and socketSelect()
  * 
  * @return void
  */
 public function testRequestAsynchronous()
 {
     $test = $this;
     $req = new cURL\Request();
     $req->getOptions()->set(CURLOPT_URL, $this->okTestUrl)->set(CURLOPT_RETURNTRANSFER, true);
     $req->addListener('complete', function ($event) use($test) {
         $test->validateSuccesfulResponse('/', $event->response);
     });
     $n = 0;
     while ($req->socketPerform()) {
         $n++;
         $req->socketSelect();
     }
     try {
         $req->socketPerform();
     } catch (cURL\Exception $e) {
     }
     $this->assertInstanceOf('cURL\\Exception', $e);
     $this->assertGreaterThan(0, $n);
     $req = new cURL\Request();
     $req->getOptions()->set(CURLOPT_URL, $this->errorTestUrl)->set(CURLOPT_TIMEOUT, 1)->set(CURLOPT_RETURNTRANSFER, true);
     $req->addListener('complete', function ($event) use($test) {
         $test->validateTimeoutedResponse($event->response);
     });
     while ($req->socketPerform()) {
         $req->socketSelect();
     }
 }
Beispiel #2
0
 /**
  * Tests whether 'complete' event on individual Request has been fired
  * once when using RequestsQueue
  */
 public function testRequestCompleteEventAsynchronous()
 {
     $eventFired = 0;
     $req = new cURL\Request();
     $req->getOptions()->set(CURLOPT_URL, $this->createRequestUrl())->set(CURLOPT_RETURNTRANSFER, true);
     $req->addListener('complete', function ($event) use(&$eventFired) {
         $this->validateSuccesfulResponse($event->response);
         $eventFired++;
     });
     while ($req->socketPerform()) {
         $req->socketSelect();
     }
     $this->assertEquals(1, $eventFired);
 }