public function testCrypt() { $cs = new MockCookieSetter(array()); $crypt = new MockCrypter(); $setter = new CryptedSetter($crypt, $cs); $cookie = new Cookie($setter); $cookie['test'] = 'test '; $this->assertTrue($cookie->send()); $data = $cs->mod; array_walk($data, function (&$val) { $val = $val[0]; }); $setter = new CryptedSetter($crypt, new MockCookieSetter($data)); $cookie = new Cookie($setter); $this->assertEquals('test ', $cookie['test']); }
public function testDelete() { $setter = $this->setter(array('test' => 'a')); $cookie = new Cookie($setter); $cookie['test2'] = 'b'; unset($cookie['test']); unset($cookie['test2']); $this->assertTrue($cookie->send()); // only delete from origin will cause a setter action $this->assertEquals(1, count($setter->del)); $this->assertArrayHasKey('test', $setter->del); // delete from appended data will only delete it from pending queue $this->assertEquals(0, count($setter->mod)); $this->assertArrayNotHasKey('test', $cookie); $this->assertArrayNotHasKey('test2', $cookie); }