Просмотр исходного кода

[ZF-12070] Fix remaining classes in Zend_Feed_Writer to accept UNIX timestamps which are <>10 digits

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@24641 44c647ce-9c0f-0410-b52a-842ac1e357ba
adamlundrigan 14 лет назад
Родитель
Сommit
7b3aa2d544

+ 2 - 2
library/Zend/Feed/Writer/Deleted.php

@@ -1,4 +1,4 @@
-<?php
+f<?php
 /**
  * Zend Framework
  *
@@ -128,7 +128,7 @@ class Zend_Feed_Writer_Deleted
         $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;

+ 2 - 2
library/Zend/Feed/Writer/Entry.php

@@ -214,7 +214,7 @@ class Zend_Feed_Writer_Entry
         $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;
@@ -235,7 +235,7 @@ class Zend_Feed_Writer_Entry
         $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;

+ 11 - 0
tests/Zend/Feed/Writer/DeletedTest.php

@@ -72,6 +72,17 @@ class Zend_Feed_Writer_DeletedTest extends PHPUnit_Framework_TestCase
         $myDate = new Zend_Date('1234567890', Zend_Date::TIMESTAMP);
         $this->assertTrue($myDate->equals($entry->getWhen()));
     }
+ 
+    /**
+     * @group ZF-12070
+     */
+    public function testSetWhenUsesGivenUnixTimestampWhenItIsLessThanTenDigits()
+    {
+        $entry = new Zend_Feed_Writer_Deleted;
+        $entry->setWhen(123456789);
+        $myDate = new Zend_Date('123456789', Zend_Date::TIMESTAMP);
+        $this->assertTrue($myDate->equals($entry->getWhen()));
+    }
 
     public function testSetWhenUsesZendDateObject()
     {

+ 22 - 0
tests/Zend/Feed/Writer/EntryTest.php

@@ -258,6 +258,17 @@ class Zend_Feed_Writer_EntryTest extends PHPUnit_Framework_TestCase
         $this->assertTrue($myDate->equals($entry->getDateCreated()));
     }
 
+    /**
+     * @group ZF-12070
+     */
+    public function testSetDateCreatedUsesGivenUnixTimestampWhenItIsLessThanTenDigits()
+    {
+        $entry = new Zend_Feed_Writer_Entry;
+        $entry->setDateCreated(123456789);
+        $myDate = new Zend_Date('123456789', Zend_Date::TIMESTAMP);
+        $this->assertTrue($myDate->equals($entry->getDateCreated()));
+    }
+    
     public function testSetDateCreatedUsesZendDateObject()
     {
         $entry = new Zend_Feed_Writer_Entry;
@@ -282,6 +293,17 @@ class Zend_Feed_Writer_EntryTest extends PHPUnit_Framework_TestCase
         $this->assertTrue($myDate->equals($entry->getDateModified()));
     }
 
+    /**
+     * @group ZF-12070
+     */
+    public function testSetDateModifiedUsesGivenUnixTimestampWhenItIsLessThanTenDigits()
+    {
+        $entry = new Zend_Feed_Writer_Entry;
+        $entry->setDateModified(123456789);
+        $myDate = new Zend_Date('123456789', Zend_Date::TIMESTAMP);
+        $this->assertTrue($myDate->equals($entry->getDateModified()));
+    }
+
     public function testSetDateModifiedUsesZendDateObject()
     {
         $entry = new Zend_Feed_Writer_Entry;