X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fsimpletest%2Fsrc%2FBlockCreationTrait.php;h=7012b16293b13b3e9c8d886b247c33361ed1e14b;hb=1c1cb0980bfa6caf0c24cce671b6bb541dc87583;hp=b252d9e9e6524651c5912aa15cff6a5f2dfd7580;hpb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;p=yaffs-website diff --git a/web/core/modules/simpletest/src/BlockCreationTrait.php b/web/core/modules/simpletest/src/BlockCreationTrait.php index b252d9e9e..7012b1629 100644 --- a/web/core/modules/simpletest/src/BlockCreationTrait.php +++ b/web/core/modules/simpletest/src/BlockCreationTrait.php @@ -2,66 +2,20 @@ namespace Drupal\simpletest; -use Drupal\block\Entity\Block; +use Drupal\Tests\block\Traits\BlockCreationTrait as BaseBlockCreationTrait; /** * Provides methods to create and place block with default settings. * * This trait is meant to be used only by test classes. + * + * @deprecated in Drupal 8.4.x. Will be removed before Drupal 9.0.0. Use + * \Drupal\Tests\block\Traits\BlockCreationTrait instead. + * + * @see https://www.drupal.org/node/2884454 */ trait BlockCreationTrait { - /** - * Creates a block instance based on default settings. - * - * @param string $plugin_id - * The plugin ID of the block type for this block instance. - * @param array $settings - * (optional) An associative array of settings for the block entity. - * Override the defaults by specifying the key and value in the array, for - * example: - * @code - * $this->drupalPlaceBlock('system_powered_by_block', array( - * 'label' => t('Hello, world!'), - * )); - * @endcode - * The following defaults are provided: - * - label: Random string. - * - ID: Random string. - * - region: 'sidebar_first'. - * - theme: The default theme. - * - visibility: Empty array. - * - * @return \Drupal\block\Entity\Block - * The block entity. - * - * @todo - * Add support for creating custom block instances. - */ - protected function placeBlock($plugin_id, array $settings = []) { - $config = \Drupal::configFactory(); - $settings += [ - 'plugin' => $plugin_id, - 'region' => 'sidebar_first', - 'id' => strtolower($this->randomMachineName(8)), - 'theme' => $config->get('system.theme')->get('default'), - 'label' => $this->randomMachineName(8), - 'visibility' => [], - 'weight' => 0, - ]; - $values = []; - foreach (['region', 'id', 'theme', 'plugin', 'weight', 'visibility'] as $key) { - $values[$key] = $settings[$key]; - // Remove extra values that do not belong in the settings array. - unset($settings[$key]); - } - foreach ($values['visibility'] as $id => $visibility) { - $values['visibility'][$id]['id'] = $id; - } - $values['settings'] = $settings; - $block = Block::create($values); - $block->save(); - return $block; - } + use BaseBlockCreationTrait; }