Преглед на файлове

merge r25132 to release-1.12

git-svn-id: http://framework.zend.com/svn/framework/standard/branches/release-1.12@25133 44c647ce-9c0f-0410-b52a-842ac1e357ba
rob преди 13 години
родител
ревизия
674c3fc662
променени са 2 файла, в които са добавени 13 реда и са изтрити 1 реда
  1. 1 1
      library/Zend/EventManager/EventManager.php
  2. 12 0
      tests/Zend/EventManager/EventManagerTest.php

+ 1 - 1
library/Zend/EventManager/EventManager.php

@@ -163,7 +163,7 @@ class Zend_EventManager_EventManager implements Zend_EventManager_EventCollectio
         if (is_array($identifiers) || $identifiers instanceof Traversable) {
             $this->identifiers = array_unique($this->identifiers + (array) $identifiers);
         } elseif ($identifiers !== null) {
-            $this->identifiers = array_unique($this->identifiers + array($identifiers));
+            $this->identifiers = array_unique(array_merge($this->identifiers, array($identifiers)));
         }
         return $this;
     }

+ 12 - 0
tests/Zend/EventManager/EventManagerTest.php

@@ -518,6 +518,18 @@ class Zend_EventManager_EventManagerTest extends PHPUnit_Framework_TestCase
         $this->assertSame($identifiers[0], __CLASS__);
     }
 
+    public function testIdentifierGetterSettersWorkWithStrings()
+    {
+        $identifier1 = 'foo';
+        $identifiers = array($identifier1);
+        $this->assertType('Zend_EventManager_EventManager', $this->events->setIdentifiers($identifier1));
+        $this->assertSame($this->events->getIdentifiers(), $identifiers);
+        $identifier2 = 'baz';
+        $identifiers = array($identifier1, $identifier2);
+        $this->assertType('Zend_EventManager_EventManager', $this->events->addIdentifiers($identifier2));
+        $this->assertSame($this->events->getIdentifiers(), $identifiers);
+    }
+
     public function testIdentifierGetterSettersWorkWithArrays()
     {
         $identifiers = array('foo', 'bar');