Esempio n. 1
0
 /**
  * Set a variable in this object.
  *
  * @param string $var   programmatic name of a key, in a <key,value> pair in the
  * current container
  * @param string $value new value for the key
  *
  * @return void
  */
 public function __set($var, $value)
 {
     $this->manager->set($this->groupName . $var, $value);
 }
<?php

namespace Fierce;

$c = new CookieManager();
// set a session cookie and check if it was set
$c->set('foo', 'bar');
$this->assertContains(headers_list(), 'Set-Cookie: foo=bar; path=/', 'Send session cookie');
$this->assertEqual($_COOKIE['foo'], 'bar', "Set session cookie");
$this->assertEqual($c->get('foo'), 'bar', "Get session cookie");
header_remove('Set-Cookie');
// set a non-session cookie and check if it was set with correct expiry
$c->set('foo', 'bar', 42);
$datetime = date('D, d-M-Y H:i:s', time() + 42) . ' GMT';
$this->assertContains(headers_list(), 'Set-Cookie: foo=bar; expires=' . $datetime . '; Max-Age=42; path=/', 'Send cookie');
$this->assertEqual($_COOKIE['foo'], 'bar', "Set cookie");
$this->assertEqual($c->get('foo'), 'bar', "Get cookie");
header_remove('Set-Cookie');
// set a cookie then clear it, make sure it clears
$c->set('foo', 'bar');
$c->clear('foo');
$this->assertEqual($c->get('foo'), null, "Cookie cleared");
$this->assert(!isset($_COOKIE['foo']), "Cookie cleared from \$_COOKIE");
header_remove('Set-Cookie');
// check default value
$this->assertEqual($c->get('foo', 'bob'), 'bob', "Check default cookie value");