Loading core/lib/Drupal/Core/Config/TypedConfigManager.php +1 −1 Original line number Diff line number Diff line Loading @@ -400,7 +400,7 @@ protected function alterDefinitions(&$definitions) { public function createFromNameAndData($config_name, array $config_data) { $definition = $this->getDefinition($config_name); $data_definition = $this->buildDataDefinition($definition, $config_data); return $this->create($data_definition, $config_data); return $this->create($data_definition, $config_data, $config_name); } } core/tests/Drupal/KernelTests/Config/TypedConfigTest.php +3 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,9 @@ public function testTypedDataAPI() { $typed_config = $typed_config_manager->createFromNameAndData('config_test.validation', \Drupal::configFactory()->get('config_test.validation')->get()); $this->assertInstanceOf(TypedConfigInterface::class, $typed_config); $this->assertEquals(['_core', 'llama', 'cat', 'giraffe', 'uuid'], array_keys($typed_config->getElements())); $this->assertSame('config_test.validation', $typed_config->getName()); $this->assertSame('config_test.validation', $typed_config->getPropertyPath()); $this->assertSame('config_test.validation.llama', $typed_config->get('llama')->getPropertyPath()); $config_test_entity = \Drupal::entityTypeManager()->getStorage('config_test')->create([ 'id' => 'asterix', Loading Loading
core/lib/Drupal/Core/Config/TypedConfigManager.php +1 −1 Original line number Diff line number Diff line Loading @@ -400,7 +400,7 @@ protected function alterDefinitions(&$definitions) { public function createFromNameAndData($config_name, array $config_data) { $definition = $this->getDefinition($config_name); $data_definition = $this->buildDataDefinition($definition, $config_data); return $this->create($data_definition, $config_data); return $this->create($data_definition, $config_data, $config_name); } }
core/tests/Drupal/KernelTests/Config/TypedConfigTest.php +3 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,9 @@ public function testTypedDataAPI() { $typed_config = $typed_config_manager->createFromNameAndData('config_test.validation', \Drupal::configFactory()->get('config_test.validation')->get()); $this->assertInstanceOf(TypedConfigInterface::class, $typed_config); $this->assertEquals(['_core', 'llama', 'cat', 'giraffe', 'uuid'], array_keys($typed_config->getElements())); $this->assertSame('config_test.validation', $typed_config->getName()); $this->assertSame('config_test.validation', $typed_config->getPropertyPath()); $this->assertSame('config_test.validation.llama', $typed_config->get('llama')->getPropertyPath()); $config_test_entity = \Drupal::entityTypeManager()->getStorage('config_test')->create([ 'id' => 'asterix', Loading