Browse Source

Merge pull request #5524 from cakephp/fix-datetime

Fix failing tests related to year rollover.
José Lorenzo Rodríguez 11 years ago
parent
commit
1dd63ef02a

+ 2 - 2
src/View/Widget/DateTimeWidget.php

@@ -186,7 +186,7 @@ class DateTimeWidget implements WidgetInterface
      */
     protected function _deconstructDate($value, $options)
     {
-        if (empty($value)) {
+        if ($value === '' || $value === null) {
             return [
                 'year' => '', 'month' => '', 'day' => '',
                 'hour' => '', 'minute' => '', 'second' => '',
@@ -196,7 +196,7 @@ class DateTimeWidget implements WidgetInterface
         try {
             if (is_string($value)) {
                 $date = new \DateTime($value);
-            } elseif (is_bool($value) || $value === null) {
+            } elseif (is_bool($value)) {
                 $date = new \DateTime();
             } elseif (is_int($value)) {
                 $date = new \DateTime('@' . $value);

+ 1 - 1
tests/TestCase/View/Helper/FormHelperTest.php

@@ -5172,7 +5172,7 @@ class FormHelperTest extends TestCase
     {
         extract($this->dateRegex);
 
-        $result = $this->Form->day('Model.field', ['value' => false]);
+        $result = $this->Form->day('Model.field', ['value' => '']);
         $expected = [
             ['select' => ['name' => 'Model[field][day]']],
             ['option' => ['selected' => 'selected', 'value' => '']],

+ 3 - 5
tests/TestCase/View/Widget/DateTimeWidgetTest.php

@@ -53,11 +53,9 @@ class DateTimeWidgetTest extends TestCase
     public static function invalidSelectedValuesProvider()
     {
         return [
-            'null' => null,
-            'false' => false,
-            'true' => true,
+            'false' => [false],
+            'true' => [true],
             'string' => ['Bag of poop'],
-            'int' => [-1],
             'array' => [[
                 'derp' => 'hurt'
             ]]
@@ -67,7 +65,7 @@ class DateTimeWidgetTest extends TestCase
     /**
      * test rendering selected values.
      *
-     * @dataProvider selectedValuesProvider
+     * @dataProvider invalidSelectedValuesProvider
      * @return void
      */
     public function testRenderSelectedInvalid($selected)