Просмотр исходного кода

ZF-8265: do not render disableFor key in attributes (patch courtesy Mon Zafra)

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19127 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew 16 лет назад
Родитель
Сommit
940d9889bd
2 измененных файлов с 12 добавлено и 0 удалено
  1. 3 0
      library/Zend/View/Helper/FormLabel.php
  2. 9 0
      tests/Zend/View/Helper/FormLabelTest.php

+ 3 - 0
library/Zend/View/Helper/FormLabel.php

@@ -57,6 +57,9 @@ class Zend_View_Helper_FormLabel extends Zend_View_Helper_FormElement
         $for   = (empty($attribs['disableFor']) || !$attribs['disableFor'])
                ? ' for="' . $this->view->escape($id) . '"'
                : '';
+        if (array_key_exists('disableFor', $attribs)) {
+            unset($attribs['disableFor']);
+        }
 
         // enabled; display label
         $xhtml = '<label'

+ 9 - 0
tests/Zend/View/Helper/FormLabelTest.php

@@ -136,6 +136,15 @@ class Zend_View_Helper_FormLabelTest extends PHPUnit_Framework_TestCase
         $label = $this->helper->formLabel('foo', 'bar', array('disableFor' => true));
         $this->assertNotContains('for="foo"', $label);
     }
+
+    /**
+     * @group ZF-8265
+     */
+    public function testShouldNotRenderDisableForAttributeIfForIsSuppressed()
+    {
+        $label = $this->helper->formLabel('foo', 'bar', array('disableFor' => true));
+        $this->assertNotContains('disableFor=', $label, 'Output contains disableFor attribute!');
+    }
 }
 
 // Call Zend_View_Helper_FormLabelTest::main() if this source file is executed directly.