sessionVar = 'sessionKey'; if (!isset($_SESSION)) { $_SESSION = array(); } } /** * @expectedException \RuntimeException */ public function testValidatesCookieSession() { $_SESSION[$this->sessionVar] = 'true'; new SessionCookieJar($this->sessionVar); } public function testLoadsFromSession() { $jar = new SessionCookieJar($this->sessionVar); $this->assertEquals([], $jar->getIterator()->getArrayCopy()); unset($_SESSION[$this->sessionVar]); } public function testPersistsToSession() { $jar = new SessionCookieJar($this->sessionVar); $jar->setCookie(new SetCookie([ 'Name' => 'foo', 'Value' => 'bar', 'Domain' => 'foo.com', 'Expires' => time() + 1000 ])); $jar->setCookie(new SetCookie([ 'Name' => 'baz', 'Value' => 'bar', 'Domain' => 'foo.com', 'Expires' => time() + 1000 ])); $jar->setCookie(new SetCookie([ 'Name' => 'boo', 'Value' => 'bar', 'Domain' => 'foo.com', ])); $this->assertEquals(3, count($jar)); unset($jar); // Make sure it wrote to the sessionVar in $_SESSION $contents = $_SESSION[$this->sessionVar]; $this->assertNotEmpty($contents); // Load the cookieJar from the file $jar = new SessionCookieJar($this->sessionVar); // Weeds out temporary and session cookies $this->assertEquals(2, count($jar)); unset($jar); unset($_SESSION[$this->sessionVar]); } }