public function ConstraintFactoryTest::testCreateInstance in Drupal 10
Same name and namespace in other branches
- 9 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 25
Class
- ConstraintFactoryTest
- @coversDefaultClass \Drupal\Core\Validation\ConstraintFactory
Namespace
Drupal\KernelTests\Core\ValidationCode
public function testCreateInstance() {
$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);
}