Пример #1
0
 /**
  * @covers Guzzle\Http\Message\Request
  */
 public function testHoldsCookies()
 {
     $cookie = $this->request->getCookie();
     $this->assertInstanceOf('Guzzle\\Http\\Cookie', $this->request->getCookie());
     // Ensure that the cookie will not affect the request
     $this->assertNull($this->request->getCookie('test'));
     $cookie->set('test', 'abc');
     $this->assertNull($this->request->getCookie('test'));
     // Set a cookie
     $this->assertSame($this->request, $this->request->addCookie('test', 'abc'));
     $this->assertEquals('abc', $this->request->getCookie('test'));
     // Unset the cookies by setting the Cookie header to null
     $this->request->setHeader('Cookie', null);
     $this->assertNull($this->request->getCookie('test'));
     // Set and remove a cookie
     $this->assertSame($this->request, $this->request->addCookie('test', 'abc'));
     $this->assertEquals('abc', $this->request->getCookie('test'));
     $this->assertSame($this->request, $this->request->removeCookie('test'));
     $this->assertNull($this->request->getCookie('test'));
     // Remove the cookie header
     $this->assertSame($this->request, $this->request->addCookie('test', 'abc'));
     $this->request->removeHeader('Cookie');
     $this->assertEquals('', (string) $this->request->getCookie());
     // Set the cookie using a cookie object
     $this->assertSame($this->request, $this->request->setCookie($cookie));
     $this->assertEquals($cookie->getAll(), $this->request->getCookie()->getAll());
     // Set the cookie using an array
     $this->assertSame($this->request, $this->request->setCookie(array('test' => 'def')));
     $this->assertEquals(array('test' => 'def'), $this->request->getCookie()->getAll());
     // Test using an invalid value
     try {
         $this->request->setCookie('a');
         $this->fail('Did not throw expected exception when passing invalid value');
     } catch (\InvalidArgumentException $e) {
     }
 }