Explorar o código

[RESOURCES]: allow running test for only one language by defining the constant 'TESTS_ZEND_RESOURCES_TRANSLATIONS'

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@22819 44c647ce-9c0f-0410-b52a-842ac1e357ba
mikaelkael %!s(int64=15) %!d(string=hai) anos
pai
achega
1b683a35dd

+ 5 - 0
tests/TestConfiguration.php.dist

@@ -749,6 +749,11 @@ define('TESTS_ZEND_URI_CRASH_TEST_ENABLED', false);
 define('TESTS_ZEND_VALIDATE_ONLINE_ENABLED', false);
 
 /**
+ * Resources translations ('all' for all translations or 'fr', 'de', ...)
+ */
+define('TESTS_ZEND_RESOURCES_TRANSLATIONS', 'all');
+
+/**
  * PHPUnit Code Coverage / Test Report
  */
 define('TESTS_GENERATE_REPORT', false);

+ 15 - 2
tests/resources/languages/Zend_ValidateTest.php

@@ -50,6 +50,15 @@ class resources_languages_Zend_ValidateTest extends PHPUnit_Framework_TestCase
             throw new Exception('Language resource directory "'.$this->_langDir.'" not readable.');
         }
 
+        // Show only a specific translation?
+        $langs = 'all';
+        if (defined('TESTS_ZEND_RESOURCES_TRANSLATIONS')) {
+            $langs = strtolower(constant('TESTS_ZEND_RESOURCES_TRANSLATIONS'));
+            if ($langs == 'en' || !Zend_Locale::isLocale($langs, true, false)) {
+                $langs = 'all';
+            }
+        }
+
         // detect languages
         foreach (new DirectoryIterator($this->_langDir) as $entry) {
             if (!$entry->isDir()) {
@@ -63,7 +72,9 @@ class resources_languages_Zend_ValidateTest extends PHPUnit_Framework_TestCase
             }
 
             // add all languages for testIsLocale
-            $this->_languages[] = $fname;
+            if ($langs == 'all' || $langs == $fname || $fname == 'en') {
+                $this->_languages[] = $fname;
+            }
 
             // include Zend_Validate translation tables
             $translationFile = $entry->getPathname() . DIRECTORY_SEPARATOR . 'Zend_Validate.php';
@@ -73,7 +84,9 @@ class resources_languages_Zend_ValidateTest extends PHPUnit_Framework_TestCase
                     $this->fail("Invalid or empty translation table found for language '{$fname}'");
                 }
 
-                $this->_translations[$fname] = $translation;
+                if ($langs == 'all' || $langs == $fname || $fname == 'en') {
+                    $this->_translations[$fname] = $translation;
+                }
             }
         }
     }