2
0
فهرست منبع

Merge pull request #315 from froschdesign/hotfix/2

Fixes #2 - Long Timezones in Zend_Date constructor ignored with custom d...
Rob Allen 11 سال پیش
والد
کامیت
4afa824b1f
2فایلهای تغییر یافته به همراه19 افزوده شده و 1 حذف شده
  1. 1 1
      library/Zend/Date.php
  2. 18 0
      tests/Zend/DateTest.php

+ 1 - 1
library/Zend/Date.php

@@ -1208,7 +1208,7 @@ class Zend_Date extends Zend_Date_DateObject
             return $zone;
         }
 
-        preg_match('/([[:alpha:]\/]{3,30})(?!.*([[:alpha:]\/]{3,30}))/', $zone, $match);
+        preg_match('/([[:alpha:]\/_]{3,30})(?!.*([[:alpha:]\/]{3,30}))/', $zone, $match);
         try {
             if (!empty($match) and (!is_int($match[count($match) - 1]))) {
                 $oldzone = $this->getTimezone();

+ 18 - 0
tests/Zend/DateTest.php

@@ -5698,6 +5698,24 @@ class Zend_DateTest extends PHPUnit_Framework_TestCase
         $out  = $date->toString('Y-MM-dd');
         $this->assertEquals('2012-01-01', $out);
     }
+
+    /**
+     * @group GH-2
+     */
+    public function testGetTimezoneFromStringForTimezonesWithUnderscore()
+    {
+        $date = new Zend_Date();
+
+        $this->assertEquals(
+            'America/Los_Angeles',
+            $date->getTimezoneFromString('America/Los_Angeles')
+        );
+
+        $this->assertEquals(
+            'America/New_York',
+            $date->getTimezoneFromString('America/New_York')
+        );
+    }
 }
 
 class Zend_Date_TestHelper extends Zend_Date