public function testSetCookieHeaderFromString()
 {
     $cookie = SetCookieHeader::fromString('Set-Cookie: username=iqbal;expires=Tue, 28 Jul 2015 08:52:40 GMT;max-age=5;HttpOnly');
     $this->assertEquals('username', $cookie->getName());
     $this->assertEquals('iqbal', $cookie->getValue());
     $this->assertEquals('Tue, 28 Jul 2015 08:52:40 GMT', $cookie->getExpires()->format(SetCookieHeader::DATE_FORMAT));
     $this->assertSame(5, $cookie->getMaxAge());
     $this->assertTrue($cookie->isHttpOnly());
     $this->assertFalse($cookie->isSecure());
 }
 /**
  * Set cookie.
  *
  * @param SetCookieHeader $cookie
  *
  * @return $this
  *
  * @throws InvalidArgumentException
  */
 public function set(SetCookieHeader $cookie)
 {
     $cookieName = $cookie->getName();
     if (empty($cookieName)) {
         throw new InvalidArgumentException('Cookie name cannot be empty.');
     }
     $this->cookies[strtolower($cookie->getName())] = $cookie;
     return $this;
 }