public function testUpdatesRequestForRetry()
 {
     $request = new Request('GET', 'http://www.example.com');
     $request->setState('transfer');
     $response = new Response(500);
     $handle = $this->getMockBuilder('Guzzle\\Http\\Curl\\CurlHandle')->disableOriginalConstructor()->getMock();
     $e = new CurlException();
     $e->setCurlHandle($handle);
     $plugin = new BackoffPlugin(new ConstantBackoffStrategy(10));
     $plugin->addSubscriber($this);
     $event = new Event(array('request' => $request, 'response' => $response, 'exception' => $e));
     $plugin->onRequestSent($event);
     $this->assertEquals(array('request' => $request, 'response' => $response, 'handle' => $handle, 'retries' => 1, 'delay' => 10), $this->readAttribute($this->retried, 'context'));
     $plugin->onRequestSent($event);
     $this->assertEquals(array('request' => $request, 'response' => $response, 'handle' => $handle, 'retries' => 2, 'delay' => 10), $this->readAttribute($this->retried, 'context'));
 }