public function testHasRequests()
 {
     $r1 = new Request('GET', 'http://www.foo.com');
     $r2 = new Request('GET', 'http://www.foo.com');
     $e = new MultiTransferException();
     $e->addSuccessfulRequest($r1);
     $e->addFailedRequest($r2);
     $this->assertEquals(array($r1), $e->getSuccessfulRequests());
     $this->assertEquals(array($r2), $e->getSuccessfulRequests());
     $this->assertEquals(array($r1, $r2), $e->getAllRequests());
     $this->assertTrue($e->containsRequest($r1));
     $this->assertTrue($e->containsRequest($r2));
     $this->assertFalse($e->containsRequest(new Request('POST', '/foo')));
 }
Exemplo n.º 2
0
 /**
  * Build and throw a MultiTransferException
  *
  * @param array $exceptions Exceptions encountered
  * @param array $successful Successful requests
  * @throws MultiTransferException
  */
 protected function throwMultiException(array $exceptions, array $successful)
 {
     $multiException = new MultiTransferException('Errors during multi transfer');
     while ($e = array_shift($exceptions)) {
         $multiException->addFailedRequestWithException($e['request'], $e['exception']);
     }
     // Add successful requests
     foreach ($successful as $request) {
         if (!$multiException->containsRequest($request)) {
             $multiException->addSuccessfulRequest($request);
         }
     }
     throw $multiException;
 }