瀏覽代碼

Merge pull request #123 from 4d47/master

Fix lost custom messages in FlashMessenger when no message in default
Frank Brückner 12 年之前
父節點
當前提交
716467e007

+ 1 - 1
library/Zend/Controller/Action/Helper/FlashMessenger.php

@@ -150,7 +150,7 @@ class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Actio
             self::$_session->setExpirationHops(1, null, true);
         }
 
-        if (!is_array(self::$_session->{$this->_namespace})) {
+        if (!is_array(self::$_session->{$namespace})) {
             self::$_session->{$namespace} = array();
         }
 

+ 5 - 2
tests/Zend/Controller/Action/Helper/FlashMessengerTest.php

@@ -154,9 +154,12 @@ class Zend_Controller_Action_Helper_FlashMessengerTest extends PHPUnit_Framework
     {
         $this->helper->addMessage('testmessage', 'foobar');
         $this->assertTrue($this->helper->hasCurrentMessages('foobar'));
+
+        $this->helper->addMessage('testmessage2', 'foobar');
+        $this->assertTrue($this->helper->hasCurrentMessages('foobar'));
+
         $foobarMessages = $this->helper->getCurrentMessages('foobar');
-        $this->assertEquals(1, count($foobarMessages));
-        $this->assertEquals('testmessage', array_pop($foobarMessages));
+        $this->assertEquals(array('testmessage', 'testmessage2'), $foobarMessages);
 
         // Ensure it didnt' bleed over into default namespace
         $defaultMessages = $this->helper->getCurrentMessages();