示例#1
0
 /**
  * Sets a cookie. Used before a request to set up any individual
  * cookies. Used internally after a request to parse the
  * Set-Cookie headers.
  * @see Cookie::set
  * @param string $name
  * @param mixed $value
  * @param array $attr
  */
 public function setCookie($name, $value = null, $attr = null)
 {
     if (!$this->cookieJar) {
         $this->cookieJar = new CookieJar();
     }
     $this->cookieJar->setCookie($name, $value, $attr);
 }
示例#2
0
 function testCookieJarSetCookie()
 {
     $cj = new CookieJar();
     $cj->setCookie("name", "value", array("domain" => ".example.com", "path" => "/path/"));
     $cj->setCookie("name2", "value", array("domain" => ".example.com", "path" => "/path/sub"));
     $cj->setCookie("name3", "value", array("domain" => ".example.com", "path" => "/"));
     $cj->setCookie("name4", "value", array("domain" => ".example.net", "path" => "/path/"));
     $cj->setCookie("name5", "value", array("domain" => ".example.net", "path" => "/path/", "expires" => "-1 day"));
     $this->assertEquals("name4=value", $cj->serializeToHttpRequest("/path/", "www.example.net"));
     $this->assertEquals("name3=value", $cj->serializeToHttpRequest("/", "www.example.com"));
     $this->assertEquals("name=value; name3=value", $cj->serializeToHttpRequest("/path/", "www.example.com"));
     $cj->setCookie("name5", "value", array("domain" => ".example.net", "path" => "/path/", "expires" => "+1 day"));
     $this->assertEquals("name4=value; name5=value", $cj->serializeToHttpRequest("/path/", "www.example.net"));
     $cj->setCookie("name4", "value", array("domain" => ".example.net", "path" => "/path/", "expires" => "-1 day"));
     $this->assertEquals("name5=value", $cj->serializeToHttpRequest("/path/", "www.example.net"));
 }
 function testCookieClearByDate()
 {
     $jar = new CookieJar();
     $jar->setCookie(new SimpleCookie("a", "abc", "/", "Wed, 25-Dec-02 04:24:21 GMT"));
     $jar->setCookie(new SimpleCookie("a", "def", "/", "Wed, 25-Dec-02 04:24:19 GMT"));
     $cookies = $jar->getValidCookies(false, "/");
     $this->assertIdentical($cookies[0]->getValue(), "def");
     $jar->restartSession("Wed, 25-Dec-02 04:24:20 GMT");
     $this->assertEqual(count($jar->getValidCookies(false, "/")), 0);
 }
示例#4
0
 function testCookieClearing()
 {
     $jar = new CookieJar();
     $jar->setCookie(new SimpleCookie("a", "abc", "/"));
     $jar->setCookie(new SimpleCookie("a", "", "/"));
     $this->assertEqual(count($cookies = $jar->getValidCookies(false, "/")), 1);
     $this->assertIdentical($cookies[0]->getValue(), "");
 }