Browse Source

[GENERIC] Zend_Barcode: allow GD internal fonts with setBarcodeFont()

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19946 44c647ce-9c0f-0410-b52a-842ac1e357ba
mikaelkael 16 years ago
parent
commit
ebac8c117b

+ 1 - 1
library/Zend/Barcode/Object/ObjectAbstract.php

@@ -613,7 +613,7 @@ abstract class Zend_Barcode_Object_ObjectAbstract
      */
     public static function setBarcodeFont($font)
     {
-        if (is_string($font)) {
+        if (is_string($font) || (is_int($font) && $font >= 1 && $font <= 5)) {
             self::$_staticFont = $font;
         }
     }

+ 12 - 1
tests/Zend/Barcode/Object/TestCommon.php

@@ -67,7 +67,7 @@ abstract class Zend_Barcode_Object_TestCommon extends PHPUnit_Framework_TestCase
         $this->_object = null;
     }
 
-    public function testStaticFont()
+    public function testStaticFontAsString()
     {
         Zend_Barcode_Object_ObjectAbstract::setBarcodeFont('my_static_font.ttf');
         $this->assertEquals('', $this->_object->getFont());
@@ -76,6 +76,17 @@ abstract class Zend_Barcode_Object_TestCommon extends PHPUnit_Framework_TestCase
         Zend_Barcode_Object_ObjectAbstract::setBarcodeFont('');
     }
 
+    public function testStaticFontAsNumber()
+    {
+        for ($i = 1; $i < 5; $i++) {
+            Zend_Barcode_Object_ObjectAbstract::setBarcodeFont($i);
+            $this->assertEquals('', $this->_object->getFont());
+            $object = $this->_getBarcodeObject();
+            $this->assertEquals($i, $object->getFont());
+            Zend_Barcode_Object_ObjectAbstract::setBarcodeFont('');
+        }
+    }
+
     public function testConstructorWithArray()
     {
         $object = $this->_getBarcodeObject(