diff --git a/core/assets/schemas/v1/metadata-full.schema.json b/core/assets/schemas/v1/metadata-full.schema.json index 8cda1cb413b2b2317fb146553641385cb4d3ff78..ac275eb1bdfb2e4ec562fa22574aba3c11318282 100644 --- a/core/assets/schemas/v1/metadata-full.schema.json +++ b/core/assets/schemas/v1/metadata-full.schema.json @@ -4,6 +4,7 @@ "$defs": { "slotDefinition": { "type": "object", + "additionalProperties": false, "patternProperties": { "^[a-zA-Z0-9_-]+$": { "type": "object", diff --git a/core/assets/schemas/v1/metadata.schema.json b/core/assets/schemas/v1/metadata.schema.json index b8e6b6119b3013699ef15454e72ccf0ed22959b9..5e5c753360fd4e3b7aef99dfb0122b99260ed1dd 100644 --- a/core/assets/schemas/v1/metadata.schema.json +++ b/core/assets/schemas/v1/metadata.schema.json @@ -4,6 +4,7 @@ "$defs": { "slotDefinition": { "type": "object", + "additionalProperties": false, "patternProperties": { "^[a-zA-Z0-9_-]+$": { "type": "object", diff --git a/core/tests/Drupal/Tests/Core/Theme/Component/ComponentValidatorTest.php b/core/tests/Drupal/Tests/Core/Theme/Component/ComponentValidatorTest.php index 84d87390552debb1617ec96cfd115d15a25a15e2..7e706edcfe0e7ef1e784b968149ee21950c4f77c 100644 --- a/core/tests/Drupal/Tests/Core/Theme/Component/ComponentValidatorTest.php +++ b/core/tests/Drupal/Tests/Core/Theme/Component/ComponentValidatorTest.php @@ -124,6 +124,19 @@ public static function dataProviderValidateDefinitionInvalid(): \Generator { ]; yield 'invalid slot (type)' => [$cta_with_invalid_slot_type]; + $cta_with_invalid_slot_name = $valid_cta; + $cta_with_invalid_slot_name['slots'] = [ + 'valid_slot' => [ + 'title' => 'Valid slot', + 'description' => 'Valid slot description', + ], + 'invalid slot' => [ + 'title' => 'Invalid slot', + 'description' => 'Slot name cannot have spaces', + ], + ]; + yield 'invalid slot (name with spaces)' => [$cta_with_invalid_slot_name]; + $cta_with_invalid_variant_title_type = $valid_cta; $cta_with_invalid_variant_title_type['variants'] = [ 'valid_variant' => [