Permalink
Browse files

fix CookieComponent - when write null or empty string

  • Loading branch information...
1 parent e61ac62 commit 11f543f1f2ba2769be3f44f7602c1755aa15c279 @zoghal zoghal committed Dec 14, 2013
@@ -472,7 +472,7 @@ protected function _encrypt($value) {
if (is_array($value)) {
$value = $this->_implode($value);
}
- if (!$this->_encrypted) {
+ if (!$this->_encrypted || !$value) {
return $value;
}
$prefix = "Q2FrZQ==.";
@@ -202,6 +202,36 @@ public function testWriteSimple() {
}
/**
+ * test write() Encrypted data with null & empty string & boolean value
+ *
+ * @return void
+ */
+ public function testWriteWithNullEmptyString() {
+ $this->Cookie->type('aes');
+ $this->Cookie->key = 'qSI232qs*&sXOw!adre@34SAv!@*(XSL#$%)asGb$@11~_+!@#HKis~#^';
+
+ $this->Cookie->write('Testing');
+ $result = $this->Cookie->read('Testing');
+ $this->assertNull($result);
+
+ $this->Cookie->write('Testing', '');
+ $result = $this->Cookie->read('Testing');
+ $this->assertEquals('', $result);
+
+ $this->Cookie->write('Testing', false);
+ $result = $this->Cookie->read('Testing');
+ $this->assertFalse($result);
+
+ $this->Cookie->write('Testing', 1);
+ $result = $this->Cookie->read('Testing');
+ $this->assertEquals(1, $result);
+
+ $this->Cookie->write('Testing', '0');
+ $result = $this->Cookie->read('Testing');
+ $this->assertEquals('0', $result);
+ }
+
+/**
* test that two write() calls use the expiry.
*
* @return void

0 comments on commit 11f543f

Please sign in to comment.