X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Fcore%2Ftests%2FDrupal%2FKernelTests%2FCore%2FField%2FFieldSettingsTest.php;fp=web%2Fcore%2Ftests%2FDrupal%2FKernelTests%2FCore%2FField%2FFieldSettingsTest.php;h=590a96cd5f8e8d85c081b19b4b5a4124821a796c;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=583e55b7c4016cb72439795c641ba8bdb91fd5fd;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0;p=yaffs-website diff --git a/web/core/tests/Drupal/KernelTests/Core/Field/FieldSettingsTest.php b/web/core/tests/Drupal/KernelTests/Core/Field/FieldSettingsTest.php index 583e55b7c..590a96cd5 100644 --- a/web/core/tests/Drupal/KernelTests/Core/Field/FieldSettingsTest.php +++ b/web/core/tests/Drupal/KernelTests/Core/Field/FieldSettingsTest.php @@ -46,6 +46,34 @@ class FieldSettingsTest extends EntityKernelTestBase { $this->assertEqual($base_field->getSettings(), $expected_settings); } + /** + * Tests the base field settings on a cloned base field definition object. + */ + public function testBaseFieldSettingsOnClone() { + $base_field = BaseFieldDefinition::create('test_field'); + + // Check that the default settings have been populated. + $expected_settings = [ + 'test_field_storage_setting' => 'dummy test string', + 'changeable' => 'a changeable field storage setting', + 'unchangeable' => 'an unchangeable field storage setting', + 'translatable_storage_setting' => 'a translatable field storage setting', + 'test_field_setting' => 'dummy test string', + 'translatable_field_setting' => 'a translatable field setting', + ]; + $this->assertEquals($expected_settings, $base_field->getSettings()); + + // Clone the base field object and change one single setting using + // setSettings() on the cloned base field and check that it has been + // changed only on the cloned object. + $clone_base_field = clone $base_field; + $expected_settings_clone = $expected_settings; + $expected_settings_clone['changeable'] = $expected_settings['changeable'] . ' (clone)'; + $clone_base_field->setSetting('changeable', $expected_settings_clone['changeable']); + $this->assertEquals($expected_settings, $base_field->getSettings()); + $this->assertEquals($expected_settings_clone, $clone_base_field->getSettings()); + } + /** * @covers \Drupal\field\Entity\FieldStorageConfig::getSettings * @covers \Drupal\field\Entity\FieldStorageConfig::setSettings