diff --git a/src/Symfony/Component/Form/Command/DebugCommand.php b/src/Symfony/Component/Form/Command/DebugCommand.php index b0957690c7..3a86e26691 100644 --- a/src/Symfony/Component/Form/Command/DebugCommand.php +++ b/src/Symfony/Component/Form/Command/DebugCommand.php @@ -115,7 +115,7 @@ EOF sort($options[$k]); } } else { - if (!class_exists($class)) { + if (!class_exists($class) || !is_subclass_of($class, FormTypeInterface::class)) { $class = $this->getFqcnTypeClass($input, $io, $class); } $resolvedType = $this->formRegistry->getType($class); diff --git a/src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php b/src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php index b572daf7b2..4319a23f10 100644 --- a/src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php +++ b/src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php @@ -66,6 +66,15 @@ TXT $this->assertContains('Symfony\Component\Form\Extension\Core\Type\FormType (Block prefix: "form")', $tester->getDisplay()); } + public function testDebugDateTimeType() + { + $tester = $this->createCommandTester(); + $tester->execute(['class' => 'DateTime'], ['decorated' => false, 'interactive' => false]); + + $this->assertEquals(0, $tester->getStatusCode(), 'Returns 0 in case of success'); + $this->assertContains('Symfony\Component\Form\Extension\Core\Type\DateTimeType (Block prefix: "datetime")', $tester->getDisplay()); + } + public function testDebugFormTypeOption() { $tester = $this->createCommandTester();