function ConstraintFactoryTest::testCreateInstance
Same name in other branches
- 9 core/tests/Drupal/KernelTests/Core/Validation/ConstraintFactoryTest.php \Drupal\KernelTests\Core\Validation\ConstraintFactoryTest::testCreateInstance()
- 11.x core/tests/Drupal/KernelTests/Core/Validation/ConstraintFactoryTest.php \Drupal\KernelTests\Core\Validation\ConstraintFactoryTest::testCreateInstance()
@covers ::createInstance
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Validation/ ConstraintFactoryTest.php, line 27
Class
- ConstraintFactoryTest
- @coversDefaultClass \Drupal\Core\Validation\ConstraintFactory
Namespace
Drupal\KernelTests\Core\ValidationCode
public function testCreateInstance() : void {
$constraint_manager = \Drupal::typedDataManager()->getValidationConstraintManager();
// If the plugin is a \Symfony\Component\Validator\Constraint, they will be
// created first.
$this->assertInstanceOf(Constraint::class, $constraint_manager->create('Uuid', []));
// If the plugin implements the
// \Drupal\Core\Plugin\ContainerFactoryPluginInterface, they will be created
// second.
$container_factory_plugin = $constraint_manager->create('EntityTestContainerFactoryPlugin', []);
$this->assertNotInstanceOf(Constraint::class, $container_factory_plugin);
$this->assertInstanceOf(ContainerFactoryPluginInterface::class, $container_factory_plugin);
// Plugins that are not a \Symfony\Component\Validator\Constraint or do not
// implement the \Drupal\Core\Plugin\ContainerFactoryPluginInterface are
// created last.
$default_plugin = $constraint_manager->create('EntityTestDefaultPlugin', []);
$this->assertNotInstanceOf(Constraint::class, $default_plugin);
$this->assertNotInstanceOf(ContainerFactoryPluginInterface::class, $default_plugin);
$this->assertInstanceOf(PluginBase::class, $default_plugin);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.