mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-19 02:56:15 +00:00
Making cookie component not send gobs of headers when being tested.
Making test case pass in cli.
This commit is contained in:
parent
b59033687d
commit
d64bd2a82c
2 changed files with 43 additions and 13 deletions
|
@ -356,7 +356,7 @@ class CookieComponent extends Component {
|
|||
* @param string $value Value for cookie
|
||||
*/
|
||||
protected function _write($name, $value) {
|
||||
setcookie($this->name . $name, $this->_encrypt($value), $this->_expires, $this->path, $this->domain, $this->secure);
|
||||
$this->_setcookie($this->name . $name, $this->_encrypt($value), $this->_expires, $this->path, $this->domain, $this->secure);
|
||||
|
||||
if (!is_null($this->_reset)) {
|
||||
$this->_expires = $this->_reset;
|
||||
|
@ -368,20 +368,34 @@ class CookieComponent extends Component {
|
|||
* Sets a cookie expire time to remove cookie value
|
||||
*
|
||||
* @param string $name Name of cookie
|
||||
* @access private
|
||||
* @return void
|
||||
*/
|
||||
function _delete($name) {
|
||||
setcookie($this->name . $name, '', time() - 42000, $this->path, $this->domain, $this->secure);
|
||||
protected function _delete($name) {
|
||||
$this->_setcookie($this->name . $name, '', time() - 42000, $this->path, $this->domain, $this->secure);
|
||||
}
|
||||
|
||||
/**
|
||||
* Object wrapper for setcookie() so it can be mocked in unit tests.
|
||||
*
|
||||
* @param string $name Name of the cookie
|
||||
* @param integer $expire Time the cookie expires in
|
||||
* @param string $path Path the cookie applies to
|
||||
* @param string $domain Domain the cookie is for.
|
||||
* @param boolean $secure Is the cookie https?
|
||||
* @param boolean $httpOnly Is the cookie available in the client?
|
||||
* @return void
|
||||
*/
|
||||
protected function _setcookie($name, $value, $expire, $path, $domain, $secure, $httpOnly = false) {
|
||||
setcookie($name, $value, $expire, $path, $domain, $secure, $httpOnly);
|
||||
}
|
||||
/**
|
||||
* Encrypts $value using public $type method in Security class
|
||||
*
|
||||
* @param string $value Value to encrypt
|
||||
* @return string encrypted string
|
||||
* @access private
|
||||
* @return string Encoded values
|
||||
*/
|
||||
function _encrypt($value) {
|
||||
protected function _encrypt($value) {
|
||||
if (is_array($value)) {
|
||||
$value = $this->_implode($value);
|
||||
}
|
||||
|
@ -398,9 +412,8 @@ class CookieComponent extends Component {
|
|||
*
|
||||
* @param array $values Values to decrypt
|
||||
* @return string decrypted string
|
||||
* @access private
|
||||
*/
|
||||
function _decrypt($values) {
|
||||
protected function _decrypt($values) {
|
||||
$decrypted = array();
|
||||
$type = $this->_type;
|
||||
|
||||
|
@ -433,9 +446,8 @@ class CookieComponent extends Component {
|
|||
*
|
||||
* @param array $array Map of key and values
|
||||
* @return string String in the form key1|value1,key2|value2
|
||||
* @access private
|
||||
*/
|
||||
function _implode($array) {
|
||||
protected function _implode($array) {
|
||||
$string = '';
|
||||
foreach ($array as $key => $value) {
|
||||
$string .= ',' . $key . '|' . $value;
|
||||
|
@ -448,9 +460,8 @@ class CookieComponent extends Component {
|
|||
*
|
||||
* @param string $string String in the form key1|value1,key2|value2
|
||||
* @return array Map of key and values
|
||||
* @access private
|
||||
*/
|
||||
function _explode($string) {
|
||||
protected function _explode($string) {
|
||||
$array = array();
|
||||
foreach (explode(',', $string) as $pair) {
|
||||
$key = explode('|', $pair);
|
||||
|
|
|
@ -77,7 +77,7 @@ class CookieComponentTest extends CakeTestCase {
|
|||
function setUp() {
|
||||
$_COOKIE = array();
|
||||
$Collection = new ComponentCollection();
|
||||
$this->Cookie = new CookieComponent($Collection);
|
||||
$this->Cookie = $this->getMock('CookieComponent', array('_setcookie'), array($Collection));
|
||||
$this->Controller = new CookieComponentTestController();
|
||||
$this->Cookie->initialize($this->Controller);
|
||||
|
||||
|
@ -101,6 +101,11 @@ class CookieComponentTest extends CakeTestCase {
|
|||
$this->Cookie->destroy();
|
||||
}
|
||||
|
||||
/**
|
||||
* sets up some default cookie data.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function _setCookieData() {
|
||||
$this->Cookie->write(array('Encrytped_array' => array('name' => 'CakePHP', 'version' => '1.2.0.x', 'tag' =>'CakePHP Rocks!')));
|
||||
$this->Cookie->write(array('Encrytped_multi_cookies.name' => 'CakePHP'));
|
||||
|
@ -173,6 +178,20 @@ class CookieComponentTest extends CakeTestCase {
|
|||
$this->assertEqual($data, $expected);
|
||||
}
|
||||
|
||||
/**
|
||||
* test a simple write()
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function testWriteSimple() {
|
||||
$this->Cookie->expects($this->once())->method('_setcookie');
|
||||
|
||||
$this->Cookie->write('Testing', 'value');
|
||||
$result = $this->Cookie->read('Testing');
|
||||
|
||||
$this->assertEquals('value', $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* testWritePlainCookieArray
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue