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

ZF-11316: Allow % and px unit measurements in dijit.Editor

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@23920 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew пре 14 година
родитељ
комит
54f3f3ecf2

+ 2 - 2
library/Zend/Dojo/Form/Element/Editor.php

@@ -446,11 +446,11 @@ class Zend_Dojo_Form_Element_Editor extends Zend_Dojo_Form_Element_Dijit
      */
     public function setMinHeight($minHeight)
     {
-        if (!preg_match('/^\d+(em)?$/i', $minHeight)) {
+        if (!preg_match('/^\d+(em|px|%)?$/i', $minHeight)) {
             require_once 'Zend/Form/Element/Exception.php';
             throw new Zend_Form_Element_Exception('Invalid minHeight provided; must be integer or CSS measurement');
         }
-        if ('em' != substr($minHeight, -2)) {
+        if (!preg_match('/(em|px|%)$/', $minHeight)) {
             $minHeight .= 'em';
         }
         return $this->setDijitParam('minHeight', $minHeight);

+ 20 - 0
tests/Zend/Dojo/Form/Element/EditorTest.php

@@ -271,6 +271,26 @@ class Zend_Dojo_Form_Element_EditorTest extends PHPUnit_Framework_TestCase
         $this->assertEquals(5, count($plugins));
     }
     
+    public function testMinHeightCanBeSetToPixels()
+    {
+        $this->element->setMinHeight('250px');
+        $this->assertEquals($this->element->getDijitParam('minHeight'), $this->element->getMinHeight());
+        $this->assertEquals('250px', $this->element->getMinHeight());
+    }
+    
+    public function testMinHeightCanBeSetToPercentage()
+    {
+        $this->element->setMinHeight('50%');
+        $this->assertEquals($this->element->getDijitParam('minHeight'), $this->element->getMinHeight());
+        $this->assertEquals('50%', $this->element->getMinHeight());
+    }
+    
+    public function testMinHeightDefaultMeasurementIsEm()
+    {
+        $this->element->setMinHeight('10');
+        $this->assertEquals($this->element->getDijitParam('minHeight'), $this->element->getMinHeight());
+        $this->assertEquals('10em', $this->element->getMinHeight());
+    }
 }
 
 // Call Zend_Dojo_Form_Element_EditorTest::main() if this source file is executed directly.