Ver código fonte

[ZF-12023] Zend_Feed_Writer_Feed_FeedAbstract should accept UNIX timestamps which are <>10 digits

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@24639 44c647ce-9c0f-0410-b52a-842ac1e357ba
adamlundrigan 14 anos atrás
pai
commit
7a3e321af2

+ 3 - 3
library/Zend/Feed/Writer/Feed/FeedAbstract.php

@@ -176,7 +176,7 @@ class Zend_Feed_Writer_Feed_FeedAbstract
         $zdate = null;
         if ($date === null) {
             $zdate = new Zend_Date;
-        } elseif (ctype_digit($date) && strlen($date) == 10) {
+        } elseif (ctype_digit($date)) {
             $zdate = new Zend_Date($date, Zend_Date::TIMESTAMP);
         } elseif ($date instanceof Zend_Date) {
             $zdate = $date;
@@ -197,7 +197,7 @@ class Zend_Feed_Writer_Feed_FeedAbstract
         $zdate = null;
         if ($date === null) {
             $zdate = new Zend_Date;
-        } elseif (ctype_digit($date) && strlen($date) == 10) {
+        } elseif (ctype_digit($date)) {
             $zdate = new Zend_Date($date, Zend_Date::TIMESTAMP);
         } elseif ($date instanceof Zend_Date) {
             $zdate = $date;
@@ -218,7 +218,7 @@ class Zend_Feed_Writer_Feed_FeedAbstract
         $zdate = null;
         if ($date === null) {
             $zdate = new Zend_Date;
-        } elseif (ctype_digit($date) && strlen($date) == 10) {
+        } elseif (ctype_digit($date)) {
             $zdate = new Zend_Date($date, Zend_Date::TIMESTAMP);
         } elseif ($date instanceof Zend_Date) {
             $zdate = $date;

+ 33 - 0
tests/Zend/Feed/Writer/FeedTest.php

@@ -195,6 +195,17 @@ class Zend_Feed_Writer_FeedTest extends PHPUnit_Framework_TestCase
         $myDate = new Zend_Date('1234567890', Zend_Date::TIMESTAMP);
         $this->assertTrue($myDate->equals($writer->getDateCreated()));
     }
+    
+    /**
+     * @group ZF-12023
+     */
+    public function testSetDateCreatedUsesGivenUnixTimestampThatIsLessThanTenDigits()
+    {
+        $writer = new Zend_Feed_Writer_Feed;
+        $writer->setDateCreated(123456789);
+        $myDate = new Zend_Date('123456789', Zend_Date::TIMESTAMP);
+        $this->assertTrue($myDate->equals($writer->getDateCreated()));
+    }
 
     public function testSetDateCreatedUsesZendDateObject()
     {
@@ -220,6 +231,17 @@ class Zend_Feed_Writer_FeedTest extends PHPUnit_Framework_TestCase
         $this->assertTrue($myDate->equals($writer->getDateModified()));
     }
 
+    /**
+     * @group ZF-12023
+     */
+    public function testSetDateModifiedUsesGivenUnixTimestampThatIsLessThanTenDigits()
+    {
+        $writer = new Zend_Feed_Writer_Feed;
+        $writer->setDateModified(123456789);
+        $myDate = new Zend_Date('123456789', Zend_Date::TIMESTAMP);
+        $this->assertTrue($myDate->equals($writer->getDateModified()));
+    }
+
     public function testSetDateModifiedUsesZendDateObject()
     {
         $writer = new Zend_Feed_Writer_Feed;
@@ -276,6 +298,17 @@ class Zend_Feed_Writer_FeedTest extends PHPUnit_Framework_TestCase
         $this->assertTrue($myDate->equals($writer->getLastBuildDate()));
     }
 
+    /**
+     * @group ZF-12023
+     */
+    public function testSetLastBuildDateUsesGivenUnixTimestampThatIsLessThanTenDigits()
+    {
+        $writer = new Zend_Feed_Writer_Feed;
+        $writer->setLastBuildDate(123456789);
+        $myDate = new Zend_Date('123456789', Zend_Date::TIMESTAMP);
+        $this->assertTrue($myDate->equals($writer->getLastBuildDate()));
+    }
+
     public function testSetLastBuildDateUsesZendDateObject()
     {
         $writer = new Zend_Feed_Writer_Feed;