Przeglądaj źródła

[GENERIC] Zend_Validate:

- added missing proxy methods for Abstract class statics

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@21339 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 lat temu
rodzic
commit
76352e0bf6
2 zmienionych plików z 51 dodań i 0 usunięć
  1. 22 0
      library/Zend/Validate.php
  2. 29 0
      tests/Zend/ValidateTest.php

+ 22 - 0
library/Zend/Validate.php

@@ -265,4 +265,26 @@ class Zend_Validate implements Zend_Validate_Interface
         require_once 'Zend/Validate/Abstract.php';
         require_once 'Zend/Validate/Abstract.php';
         Zend_Validate_Abstract::setMessageLength($length);
         Zend_Validate_Abstract::setMessageLength($length);
     }
     }
+
+    /**
+     * Returns the default translation object
+     *
+     * @return Zend_Translate_Adapter|null
+     */
+    public static function getDefaultTranslator($translator = null)
+    {
+        require_once 'Zend/Validate/Abstract.php';
+        return Zend_Validate_Abstract::getDefaultTranslator();
+    }
+
+    /**
+     * Sets a default translation object for all validation objects
+     *
+     * @param Zend_Translate|Zend_Translate_Adapter|null $translator
+     */
+    public static function setDefaultTranslator($translator = null)
+    {
+        require_once 'Zend/Validate/Abstract.php';
+        Zend_Validate_Abstract::setDefaultTranslator($translator);
+    }
 }
 }

+ 29 - 0
tests/Zend/ValidateTest.php

@@ -36,6 +36,11 @@ require_once 'Zend/Validate.php';
 require_once 'Zend/Validate/Abstract.php';
 require_once 'Zend/Validate/Abstract.php';
 
 
 /**
 /**
+ * @see Zend_Translate
+ */
+require_once 'Zend/Translate.php';
+
+/**
  * @category   Zend
  * @category   Zend
  * @package    Zend_Validate
  * @package    Zend_Validate
  * @subpackage UnitTests
  * @subpackage UnitTests
@@ -208,6 +213,15 @@ class Zend_ValidateTest extends PHPUnit_Framework_TestCase
         $this->assertTrue(strlen($message) <= 5);
         $this->assertTrue(strlen($message) <= 5);
     }
     }
 
 
+    public function testSetGetDefaultTranslator()
+    {
+        set_error_handler(array($this, 'errorHandlerIgnore'));
+        $translator = new Zend_Translate('array', array(), 'en');
+        restore_error_handler();
+        Zend_Validate_Abstract::setDefaultTranslator($translator);
+        $this->assertSame($translator->getAdapter(), Zend_Validate_Abstract::getDefaultTranslator());
+    }
+
     /**
     /**
      * Handle file not found errors
      * Handle file not found errors
      *
      *
@@ -222,6 +236,21 @@ class Zend_ValidateTest extends PHPUnit_Framework_TestCase
             $this->error = true;
             $this->error = true;
         }
         }
     }
     }
+
+    /**
+     * Ignores a raised PHP error when in effect, but throws a flag to indicate an error occurred
+     *
+     * @param  integer $errno
+     * @param  string  $errstr
+     * @param  string  $errfile
+     * @param  integer $errline
+     * @param  array   $errcontext
+     * @return void
+     */
+    public function errorHandlerIgnore($errno, $errstr, $errfile, $errline, array $errcontext)
+    {
+        $this->_errorOccurred = true;
+    }
 }
 }