/** * @group ZF2-254 */ public function testSetCookieConstructor() { $setCookieHeader = new SetCookie('myname', 'myvalue', 'Wed, 13-Jan-2021 22:23:01 GMT', '/accounts', 'docs.foo.com', true, true, 99, 9); $this->assertEquals('myname', $setCookieHeader->getName()); $this->assertEquals('myvalue', $setCookieHeader->getValue()); $this->assertEquals('Wed, 13-Jan-2021 22:23:01 GMT', $setCookieHeader->getExpires()); $this->assertEquals('/accounts', $setCookieHeader->getPath()); $this->assertEquals('docs.foo.com', $setCookieHeader->getDomain()); $this->assertTrue($setCookieHeader->isSecure()); $this->assertTrue($setCookieHeader->isHttpOnly()); $this->assertEquals(99, $setCookieHeader->getMaxAge()); $this->assertEquals(9, $setCookieHeader->getVersion()); }
/** * Get the cookie Id (name+domain+path) * * @param Header\SetCookie|Header\Cookie $cookie * @return string|bool */ protected function getCookieId($cookie) { if ($cookie instanceof Header\SetCookie || $cookie instanceof Header\Cookie) { return $cookie->getName() . $cookie->getDomain() . $cookie->getPath(); } return false; }
public function testSetCookieAttributesAreUnsettable() { $setCookieHeader = new SetCookie(); $setCookieHeader->setName('myname'); $setCookieHeader->setValue('myvalue'); $setCookieHeader->setExpires('Wed, 13-Jan-2021 22:23:01 GMT'); $setCookieHeader->setDomain('docs.foo.com'); $setCookieHeader->setPath('/accounts'); $setCookieHeader->setSecure(true); $setCookieHeader->setHttponly(true); $target = 'myname=myvalue; Expires=Wed, 13-Jan-2021 22:23:01 GMT;' . ' Domain=docs.foo.com; Path=/accounts;' . ' Secure; HttpOnly'; $this->assertSame($target, $setCookieHeader->getFieldValue()); // attributes set $setCookieHeader->setExpires(NULL); $setCookieHeader->setDomain(NULL); $setCookieHeader->setPath(NULL); $setCookieHeader->setSecure(NULL); $setCookieHeader->setHttponly(NULL); $this->assertSame('myname=myvalue', $setCookieHeader->getFieldValue()); // attributes unset $setCookieHeader->setValue(NULL); $this->assertSame('myname=', $setCookieHeader->getFieldValue()); $this->assertNull($setCookieHeader->getValue()); $this->assertNull($setCookieHeader->getExpires()); $this->assertNull($setCookieHeader->getDomain()); $this->assertNull($setCookieHeader->getPath()); $this->assertNull($setCookieHeader->isSecure()); $this->assertNull($setCookieHeader->isHttponly()); }