Browse Source

[ZF-8995] Zend_Filter:

- added Zend_Config handling to HtmlEntities

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@21060 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 years ago
parent
commit
fb29484490
2 changed files with 20 additions and 1 deletions
  1. 3 1
      library/Zend/Filter/HtmlEntities.php
  2. 17 0
      tests/Zend/Filter/HtmlEntitiesTest.php

+ 3 - 1
library/Zend/Filter/HtmlEntities.php

@@ -62,7 +62,9 @@ class Zend_Filter_HtmlEntities implements Zend_Filter_Interface
      */
     public function __construct($options = array())
     {
-        if (!is_array($options)) {
+        if ($options instanceof Zend_Config) {
+            $options = $options->toArray();
+        } else if (!is_array($options)) {
             $options = func_get_args();
             $temp['quotestyle'] = array_shift($options);
             if (!empty($options)) {

+ 17 - 0
tests/Zend/Filter/HtmlEntitiesTest.php

@@ -151,4 +151,21 @@ class Zend_Filter_HtmlEntitiesTest extends PHPUnit_Framework_TestCase
         $instance = $this->_filter->setCharSet('UTF-8')->setQuoteStyle(ENT_QUOTES)->setDoubleQuote(false);
         $this->assertTrue($instance instanceof Zend_Filter_HtmlEntities);
     }
+
+    /**
+     * @group ZF-8995
+     */
+    public function testConfigObject()
+    {
+        require_once 'Zend/Config.php';
+        $options = array('quotestyle' => 5, 'encoding' => 'ISO-8859-1');
+        $config  = new Zend_Config($options);
+
+        $filter = new Zend_Filter_HtmlEntities(
+            $config
+        );
+
+        $this->assertEquals('ISO-8859-1', $filter->getEncoding());
+        $this->assertEquals(5, $filter->getQuoteStyle());
+    }
 }