소스 검색

Merge pull request #123 from 4d47/master

Fix lost custom messages in FlashMessenger when no message in default
Frank Brückner 12 년 전
부모
커밋
716467e007
2개의 변경된 파일6개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 1
      library/Zend/Controller/Action/Helper/FlashMessenger.php
  2. 5 2
      tests/Zend/Controller/Action/Helper/FlashMessengerTest.php

+ 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();