Bladeren bron

ZF-6811: Fix to make passed in config variable overwrites values in the config file.

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@18907 44c647ce-9c0f-0410-b52a-842ac1e357ba
sidhighwind 16 jaren geleden
bovenliggende
commit
1779f73ebe
2 gewijzigde bestanden met toevoegingen van 9 en 4 verwijderingen
  1. 1 1
      library/Zend/Application.php
  2. 8 3
      tests/Zend/Application/ApplicationTest.php

+ 1 - 1
library/Zend/Application.php

@@ -124,7 +124,7 @@ class Zend_Application
     public function setOptions(array $options)
     {
         if (!empty($options['config'])) {
-            $options = $this->mergeOptions($options, $this->_loadConfig($options['config']));
+            $options = $this->mergeOptions($this->_loadConfig($options['config']), $options);
         }
 
         $this->_options = $options;

+ 8 - 3
tests/Zend/Application/ApplicationTest.php

@@ -296,10 +296,14 @@ class Zend_Application_ApplicationTest extends PHPUnit_Framework_TestCase
         $this->assertTrue($application->hasOption('bar'));
     }
 
-    public function testPassingArrayOptionsWithConfigKeyShouldLoadOptionsAndOverride()
+	/**
+	 * This was changed to have the passed in array always overwrite the config file.
+	 * @group ZF-6811
+	 */
+    public function testPassingArrayOptionsWithConfigKeyShouldLoadOptionsAndNotOverride()
     {
         $application = new Zend_Application('testing', array('foo' => 'baz', 'config' => dirname(__FILE__) . '/_files/appconfig.inc'));
-        $this->assertEquals('bar', $application->getOption('foo'));
+        $this->assertNotEquals('bar', $application->getOption('foo'));
     }
 
     /**
@@ -392,7 +396,8 @@ class Zend_Application_ApplicationTest extends PHPUnit_Framework_TestCase
             '/_files/zf-6679-1.inc'
         );
         $options = $application->getOptions();
-        $this->assertEquals(array('config', 'includePaths'), array_keys($options));
+		var_dump($options);
+        $this->assertEquals(array('includePaths', 'config'), array_keys($options));
     }
 
     public function testPassingZfVersionAutoloaderInformationConfiguresAutoloader()