Loading core/lib/Drupal/Core/Config/Schema/SchemaCheckTrait.php +0 −3 Original line number Diff line number Diff line Loading @@ -67,9 +67,6 @@ public function checkConfigSchema(TypedConfigManagerInterface $typed_config, $co // @todo Remove this in https://www.drupal.org/project/drupal/issues/3362456 "Module '.*' is not installed.", "Theme '.*' is not installed.", // @see \Drupal\Core\Plugin\Plugin\Validation\Constraint\PluginExistsConstraint::$unknownPluginMessage // @todo Remove this in https://www.drupal.org/project/drupal/issues/3362457 "The '.*' plugin does not exist.", ]; $filtered_violations = array_filter( iterator_to_array($violations), Loading core/lib/Drupal/Core/Plugin/Plugin/Validation/Constraint/PluginExistsConstraintValidator.php +7 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ namespace Drupal\Core\Plugin\Plugin\Validation\Constraint; use Drupal\Component\Plugin\Factory\DefaultFactory; use Drupal\Component\Plugin\FallbackPluginManagerInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; Loading @@ -20,6 +21,12 @@ public function validate(mixed $plugin_id, Constraint $constraint) { assert($constraint instanceof PluginExistsConstraint); $definition = $constraint->pluginManager->getDefinition($plugin_id, FALSE); // Some plugin managers provide fallbacks. if ($constraint->pluginManager instanceof FallbackPluginManagerInterface) { $fallback_plugin_id = $constraint->pluginManager->getFallbackPluginId($plugin_id); $definition = $constraint->pluginManager->getDefinition($fallback_plugin_id, FALSE); } if (empty($definition)) { $this->context->addViolation($constraint->unknownPluginMessage, [ '@plugin_id' => $plugin_id, Loading core/modules/big_pipe/tests/src/Kernel/BigPipeInterfacePreviewThemeSuggestionsTest.php +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ public function testBigPipeThemeHookSuggestions() { $entity = $this->controller->create([ 'id' => 'test_block1', 'theme' => 'stark', 'plugin' => 'test_html', 'plugin' => 'system_powered_by_block', ]); $entity->save(); Loading core/modules/block/tests/src/Kernel/BlockValidationTest.php +10 −1 Original line number Diff line number Diff line Loading @@ -35,8 +35,17 @@ protected function setUp(): void { * Tests validating a block with an unknown plugin ID. */ public function testInvalidPluginId(): void { $this->entity->set('plugin', 'block_content:d7c9d8ba-663f-41b4-8756-86bc55c44653'); // Block config entities with invalid block plugin IDs automatically fall // back to the `broken` block plugin. // @see https://www.drupal.org/node/2249303 // @see \Drupal\Core\Block\BlockManager::getFallbackPluginId() // @see \Drupal\Core\Block\Plugin\Block\Broken $this->assertValidationErrors([]); $this->entity->set('plugin', 'non_existent'); $this->assertValidationErrors(['plugin' => "The 'non_existent' plugin does not exist."]); // @todo Expect error for this in https://www.drupal.org/project/drupal/issues/3377709 $this->assertValidationErrors([]); } /** Loading core/modules/block/tests/src/Kernel/NewDefaultThemeBlocksTest.php +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ class NewDefaultThemeBlocksTest extends KernelTestBase { protected static $modules = [ 'block', 'system', 'user', ]; /** Loading Loading
core/lib/Drupal/Core/Config/Schema/SchemaCheckTrait.php +0 −3 Original line number Diff line number Diff line Loading @@ -67,9 +67,6 @@ public function checkConfigSchema(TypedConfigManagerInterface $typed_config, $co // @todo Remove this in https://www.drupal.org/project/drupal/issues/3362456 "Module '.*' is not installed.", "Theme '.*' is not installed.", // @see \Drupal\Core\Plugin\Plugin\Validation\Constraint\PluginExistsConstraint::$unknownPluginMessage // @todo Remove this in https://www.drupal.org/project/drupal/issues/3362457 "The '.*' plugin does not exist.", ]; $filtered_violations = array_filter( iterator_to_array($violations), Loading
core/lib/Drupal/Core/Plugin/Plugin/Validation/Constraint/PluginExistsConstraintValidator.php +7 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ namespace Drupal\Core\Plugin\Plugin\Validation\Constraint; use Drupal\Component\Plugin\Factory\DefaultFactory; use Drupal\Component\Plugin\FallbackPluginManagerInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; Loading @@ -20,6 +21,12 @@ public function validate(mixed $plugin_id, Constraint $constraint) { assert($constraint instanceof PluginExistsConstraint); $definition = $constraint->pluginManager->getDefinition($plugin_id, FALSE); // Some plugin managers provide fallbacks. if ($constraint->pluginManager instanceof FallbackPluginManagerInterface) { $fallback_plugin_id = $constraint->pluginManager->getFallbackPluginId($plugin_id); $definition = $constraint->pluginManager->getDefinition($fallback_plugin_id, FALSE); } if (empty($definition)) { $this->context->addViolation($constraint->unknownPluginMessage, [ '@plugin_id' => $plugin_id, Loading
core/modules/big_pipe/tests/src/Kernel/BigPipeInterfacePreviewThemeSuggestionsTest.php +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ public function testBigPipeThemeHookSuggestions() { $entity = $this->controller->create([ 'id' => 'test_block1', 'theme' => 'stark', 'plugin' => 'test_html', 'plugin' => 'system_powered_by_block', ]); $entity->save(); Loading
core/modules/block/tests/src/Kernel/BlockValidationTest.php +10 −1 Original line number Diff line number Diff line Loading @@ -35,8 +35,17 @@ protected function setUp(): void { * Tests validating a block with an unknown plugin ID. */ public function testInvalidPluginId(): void { $this->entity->set('plugin', 'block_content:d7c9d8ba-663f-41b4-8756-86bc55c44653'); // Block config entities with invalid block plugin IDs automatically fall // back to the `broken` block plugin. // @see https://www.drupal.org/node/2249303 // @see \Drupal\Core\Block\BlockManager::getFallbackPluginId() // @see \Drupal\Core\Block\Plugin\Block\Broken $this->assertValidationErrors([]); $this->entity->set('plugin', 'non_existent'); $this->assertValidationErrors(['plugin' => "The 'non_existent' plugin does not exist."]); // @todo Expect error for this in https://www.drupal.org/project/drupal/issues/3377709 $this->assertValidationErrors([]); } /** Loading
core/modules/block/tests/src/Kernel/NewDefaultThemeBlocksTest.php +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ class NewDefaultThemeBlocksTest extends KernelTestBase { protected static $modules = [ 'block', 'system', 'user', ]; /** Loading