SectionListTraitTest.php

Same filename and directory in other branches
  1. 9 core/modules/layout_builder/tests/src/Kernel/SectionListTraitTest.php
  2. 8.9.x core/modules/layout_builder/tests/src/Kernel/SectionListTraitTest.php
  3. 11.x core/modules/layout_builder/tests/src/Kernel/SectionListTraitTest.php

Namespace

Drupal\Tests\layout_builder\Kernel

File

core/modules/layout_builder/tests/src/Kernel/SectionListTraitTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\layout_builder\Kernel;

use Drupal\layout_builder\Section;
use Drupal\layout_builder\SectionListInterface;
use Drupal\layout_builder\SectionListTrait;

/**
 * @coversDefaultClass \Drupal\layout_builder\SectionListTrait
 *
 * @group layout_builder
 * @group #slow
 */
class SectionListTraitTest extends SectionListTestBase {
  
  /**
   * {@inheritdoc}
   */
  protected function getSectionList(array $section_data) {
    return new TestSectionList($section_data);
  }
  
  /**
   * @covers ::addBlankSection
   */
  public function testAddBlankSection() : void {
    $this->expectException(\Exception::class);
    $this->expectExceptionMessage('A blank section must only be added to an empty list');
    $this->sectionList
      ->addBlankSection();
  }

}
class TestSectionList implements SectionListInterface {
  use SectionListTrait {
    addBlankSection as public;
  }
  
  /**
   * An array of sections.
   *
   * @var \Drupal\layout_builder\Section[]
   */
  protected $sections;
  
  /**
   * TestSectionList constructor.
   */
  public function __construct(array $sections) {
    // Loop through each section and reconstruct it to ensure that all default
    // values are present.
    foreach ($sections as $section) {
      $this->sections[] = Section::fromArray($section->toArray());
    }
  }
  
  /**
   * {@inheritdoc}
   */
  protected function setSections(array $sections) {
    $this->sections = array_values($sections);
    return $sections;
  }
  
  /**
   * {@inheritdoc}
   */
  public function getSections() {
    return $this->sections;
  }

}

Classes

Title Deprecated Summary
SectionListTraitTest @coversDefaultClass \Drupal\layout_builder\SectionListTrait[[api-linebreak]]
TestSectionList

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.