Browse Source

Allow getting configured datetime class for Type class.

Refs cakephp/bake#325
ADmad 9 years ago
parent
commit
bab250fee0

+ 10 - 0
src/Database/Type/DateTimeType.php

@@ -273,6 +273,16 @@ class DateTimeType extends Type implements TypeInterface
     }
 
     /**
+     * Get the classname used for building objects.
+     *
+     * @return string
+     */
+    public function getDateTimeClassName()
+    {
+        return $this->_className;
+    }
+
+    /**
      * Change the preferred class name to the mutable Time implementation.
      *
      * @return $this

+ 14 - 0
tests/TestCase/Database/Type/DateTimeTypeTest.php

@@ -15,6 +15,7 @@
 namespace Cake\Test\TestCase\Database\Type;
 
 use Cake\Database\Type\DateTimeType;
+use Cake\I18n\FrozenTime;
 use Cake\I18n\Time;
 use Cake\TestSuite\TestCase;
 
@@ -53,6 +54,19 @@ class DateTimeTypeTest extends TestCase
     }
 
     /**
+     * Test getDateTimeClassName
+     *
+     * @return void
+     */
+    public function testGetDateTimeClassName()
+    {
+        $this->assertSame(Time::class, $this->type->getDateTimeClassName());
+
+        $this->type->useImmutable();
+        $this->assertSame(FrozenTime::class, $this->type->getDateTimeClassName());
+    }
+
+    /**
      * Test toPHP
      *
      * @return void