diff --git a/core/lib/Drupal/Core/Field/PluginSettingsBase.php b/core/lib/Drupal/Core/Field/PluginSettingsBase.php index c61d96fec59104b23e99367240ebd9eee1f1d2c4..aa662140764520e248e8f9a60492c2c900a2a05f 100644 --- a/core/lib/Drupal/Core/Field/PluginSettingsBase.php +++ b/core/lib/Drupal/Core/Field/PluginSettingsBase.php @@ -99,7 +99,7 @@ public function setSetting($key, $value) { */ public function getThirdPartySettings($module = NULL) { if ($module) { - return isset($this->thirdPartySettings[$module]) ? $this->thirdPartySettings[$module] : NULL; + return isset($this->thirdPartySettings[$module]) ? $this->thirdPartySettings[$module] : []; } return $this->thirdPartySettings; } diff --git a/core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php b/core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php new file mode 100644 index 0000000000000000000000000000000000000000..1312d861d16f591b70a21fa371d14253dac4f5d5 --- /dev/null +++ b/core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php @@ -0,0 +1,38 @@ +<?php + +/** + * @file + * Contains \Drupal\Tests\Core\Field\PluginSettingsBaseTest. + */ + +namespace Drupal\Tests\Core\Field; + +use Drupal\Core\Field\PluginSettingsBase; +use Drupal\Tests\UnitTestCase; + +/** + * @coversDefaultClass \Drupal\Core\Field\PluginSettingsBase + * @group Field + */ +class PluginSettingsBaseTest extends UnitTestCase { + + /** + * @covers ::getThirdPartySettings + */ + public function testGetThirdPartySettings() { + $plugin_settings = new TestPluginSettingsBase(); + $this->assertSame([], $plugin_settings->getThirdPartySettings()); + $this->assertSame([], $plugin_settings->getThirdPartySettings('test')); + $plugin_settings->setThirdPartySetting('test', 'foo', 'bar'); + $this->assertSame(['foo' => 'bar'], $plugin_settings->getThirdPartySettings('test')); + $this->assertSame([], $plugin_settings->getThirdPartySettings('test2')); + } + +} + +class TestPluginSettingsBase extends PluginSettingsBase { + + public function __construct() { + } + +}