From c6f9c5a5b6c8a6dbcdf06cbc849eeca98d5126e8 Mon Sep 17 00:00:00 2001 From: Nathaniel Catchpole Date: Wed, 30 Mar 2016 11:51:58 +0900 Subject: [PATCH] Issue #2632314 by alexpott, amateescu, ivanjaros: PluginSettingsBase::getThirdPartySettings() returns null instead of array --- .../Drupal/Core/Field/PluginSettingsBase.php | 2 +- .../Core/Field/PluginSettingsBaseTest.php | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php diff --git a/core/lib/Drupal/Core/Field/PluginSettingsBase.php b/core/lib/Drupal/Core/Field/PluginSettingsBase.php index c61d96fec59..aa662140764 100644 --- a/core/lib/Drupal/Core/Field/PluginSettingsBase.php +++ b/core/lib/Drupal/Core/Field/PluginSettingsBase.php @@ -99,7 +99,7 @@ abstract class PluginSettingsBase extends PluginBase implements PluginSettingsIn */ 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 00000000000..1312d861d16 --- /dev/null +++ b/core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php @@ -0,0 +1,38 @@ +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() { + } + +}