Преглед изворни кода

Merge pull request #461 from Nazin/master

CDATA section for category elements in RSS feed
Frank Brückner пре 11 година
родитељ
комит
cd4fbd0c7b
2 измењених фајлова са 15 додато и 1 уклоњено
  1. 2 1
      library/Zend/Feed/Rss.php
  2. 13 0
      tests/Zend/Feed/Writer/Renderer/Entry/RssTest.php

+ 2 - 1
library/Zend/Feed/Rss.php

@@ -433,7 +433,8 @@ class Zend_Feed_Rss extends Zend_Feed_Abstract
 
             if (isset($dataentry->category)) {
                 foreach ($dataentry->category as $category) {
-                    $node = $this->_element->createElement('category', $category['term']);
+                    $node = $this->_element->createElement('category');
+                    $node->appendChild($this->_element->createCDATASection($category['term']));
                     if (isset($category['scheme'])) {
                         $node->setAttribute('domain', $category['scheme']);
                     }

+ 13 - 0
tests/Zend/Feed/Writer/Renderer/Entry/RssTest.php

@@ -367,4 +367,17 @@ class Zend_Feed_Writer_Renderer_Entry_RssTest extends PHPUnit_Framework_TestCase
         $this->assertEquals($expected, (array) $entry->getCategories());
     }
 
+    /**
+     * @group GH-461
+     */
+    public function testCategoryHasCDataSection()
+    {
+        $this->_validEntry->addCategory(array(
+            'term' => 'This is a test category',
+        ));
+        $renderer = new Zend_Feed_Writer_Renderer_Feed_Rss($this->_validWriter);
+        $xmlString = $renderer->render()->saveXml();
+        $this->assertContains('<category><![CDATA[This is a test category]]></category>', $xmlString);
+    }
+
 }