From ae1bd3937759fb4d17a07eb563a6d0fab4b95c08 Mon Sep 17 00:00:00 2001 From: Carsten Brandt <mail@cebe.cc> Date: Fri, 28 Nov 2014 06:29:20 +0100 Subject: [PATCH] adjusted missing return for fix #6263 --- framework/i18n/Formatter.php | 2 +- tests/unit/framework/i18n/FormatterDateTest.php | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/framework/i18n/Formatter.php b/framework/i18n/Formatter.php index c986957..7c990fb 100644 --- a/framework/i18n/Formatter.php +++ b/framework/i18n/Formatter.php @@ -601,7 +601,7 @@ class Formatter extends Component // checking for DateTime and DateTimeInterface is not redundant, DateTimeInterface is only in PHP>5.5 if ($value === null || $value instanceof DateTime || $value instanceof DateTimeInterface) { // skip any processing - return $value; + return $checkTimeInfo ? [$value, true] : $value; } if (empty($value)) { $value = 0; diff --git a/tests/unit/framework/i18n/FormatterDateTest.php b/tests/unit/framework/i18n/FormatterDateTest.php index 900146c..8a80f28 100644 --- a/tests/unit/framework/i18n/FormatterDateTest.php +++ b/tests/unit/framework/i18n/FormatterDateTest.php @@ -63,6 +63,13 @@ class FormatterDateTest extends TestCase $this->assertSame(date('n/j/y', $value), $this->formatter->asDate($value, 'short')); $this->assertSame(date('F j, Y', $value), $this->formatter->asDate($value, 'long')); + $value = new DateTime(); + $this->assertSame(date('M j, Y', $value->getTimestamp()), $this->formatter->asDate($value)); + $this->assertSame(date('Y/m/d', $value->getTimestamp()), $this->formatter->asDate($value, 'php:Y/m/d')); + $this->assertSame(date('m/d/Y', $value->getTimestamp()), $this->formatter->asDate($value, 'MM/dd/yyyy')); + $this->assertSame(date('n/j/y', $value->getTimestamp()), $this->formatter->asDate($value, 'short')); + $this->assertSame(date('F j, Y', $value->getTimestamp()), $this->formatter->asDate($value, 'long')); + // empty input $this->assertSame('Jan 1, 1970', $this->formatter->asDate('')); $this->assertSame('Jan 1, 1970', $this->formatter->asDate(0)); @@ -89,6 +96,10 @@ class FormatterDateTest extends TestCase $this->assertSame(date('g:i:s A', $value), $this->formatter->asTime($value)); $this->assertSame(date('h:i:s A', $value), $this->formatter->asTime($value, 'php:h:i:s A')); + $value = new DateTime(); + $this->assertSame(date('g:i:s A', $value->getTimestamp()), $this->formatter->asTime($value)); + $this->assertSame(date('h:i:s A', $value->getTimestamp()), $this->formatter->asTime($value, 'php:h:i:s A')); + // empty input $this->assertSame('12:00:00 AM', $this->formatter->asTime('')); $this->assertSame('12:00:00 AM', $this->formatter->asTime(0)); @@ -114,6 +125,10 @@ class FormatterDateTest extends TestCase $this->assertSame(date('M j, Y g:i:s A', $value), $this->formatter->asDatetime($value)); $this->assertSame(date('Y/m/d h:i:s A', $value), $this->formatter->asDatetime($value, 'php:Y/m/d h:i:s A')); + $value = new DateTime(); + $this->assertSame(date('M j, Y g:i:s A', $value->getTimestamp()), $this->formatter->asDatetime($value)); + $this->assertSame(date('Y/m/d h:i:s A', $value->getTimestamp()), $this->formatter->asDatetime($value, 'php:Y/m/d h:i:s A')); + // empty input $this->assertSame('Jan 1, 1970 12:00:00 AM', $this->formatter->asDatetime('')); $this->assertSame('Jan 1, 1970 12:00:00 AM', $this->formatter->asDatetime(0)); -- libgit2 0.27.1