Browse Source

ZF-12103: Fixed use of uninitialized variable in Zend_Locale_Data:getList

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@24766 44c647ce-9c0f-0410-b52a-842ac1e357ba
adamlundrigan 13 years ago
parent
commit
947e038b17
2 changed files with 31 additions and 1 deletions
  1. 1 1
      library/Zend/Locale/Data.php
  2. 30 0
      tests/Zend/Locale/DataTest.php

+ 1 - 1
library/Zend/Locale/Data.php

@@ -361,7 +361,7 @@ class Zend_Locale_Data
                 break;
 
             case 'type':
-                if (empty($type)) {
+                if (empty($value)) {
                     $temp = self::_getFile($locale, '/ldml/localeDisplayNames/types/type', 'type');
                 } else {
                     if (($value == 'calendar') or

+ 30 - 0
tests/Zend/Locale/DataTest.php

@@ -2733,4 +2733,34 @@ class Zend_Locale_DataTest extends PHPUnit_Framework_TestCase
         $value = Zend_Locale_Data::getContent('de_AT', 'unit', array('day', 'one'));
         $this->assertEquals('{0} Tag', $value);
     }
+
+    /**
+     * @group ZF-12103
+     */
+    public function testGetListNonexistentTypeReturnsEmptyArray()
+    {
+        $result = Zend_Locale_Data::getList('de_AT', 'type', 'ddd');
+        $this->assertTrue(is_array($result));
+        $this->assertTrue(empty($result));
+    }
+
+    /**
+     * @group ZF-12103
+     */
+    public function testGetListValidTypeReturnsNonemptyArray()
+    {
+        $result = Zend_Locale_Data::getList('de_AT', 'type', 'calendar');
+        $this->assertTrue(is_array($result));
+        $this->assertTrue(count($result) > 0);
+    }
+
+    /**
+     * @group ZF-12103
+     */
+    public function testGetListEmptyTypeReturnsNonemptyArray()
+    {
+        $result = Zend_Locale_Data::getList('de_AT', 'type', '');
+        $this->assertTrue(is_array($result));
+        $this->assertTrue(count($result) > 0);
+    }
 }