function StaticDiscoveryTest::setUp

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Plugin/Discovery/StaticDiscoveryTest.php \Drupal\KernelTests\Core\Plugin\Discovery\StaticDiscoveryTest::setUp()
  2. 8.9.x core/tests/Drupal/KernelTests/Core/Plugin/Discovery/StaticDiscoveryTest.php \Drupal\KernelTests\Core\Plugin\Discovery\StaticDiscoveryTest::setUp()
  3. 10 core/tests/Drupal/KernelTests/Core/Plugin/Discovery/StaticDiscoveryTest.php \Drupal\KernelTests\Core\Plugin\Discovery\StaticDiscoveryTest::setUp()

Overrides KernelTestBase::setUp

File

core/tests/Drupal/KernelTests/Core/Plugin/Discovery/StaticDiscoveryTest.php, line 19

Class

StaticDiscoveryTest
Tests that plugins using static discovery are correctly discovered.

Namespace

Drupal\KernelTests\Core\Plugin\Discovery

Code

protected function setUp() : void {
    parent::setUp();
    $this->expectedDefinitions = [
        'apple' => [
            'label' => 'Apple',
            'color' => 'green',
        ],
        'cherry' => [
            'label' => 'Cherry',
            'color' => 'red',
        ],
        'orange' => [
            'label' => 'Orange',
            'color' => 'orange',
        ],
    ];
    // Instead of registering the empty discovery component first and then
    // setting the plugin definitions, we set them first and then delete them
    // again. This implicitly tests StaticDiscovery::deleteDefinition() (in
    // addition to StaticDiscovery::setDefinition() which we need to use
    // anyway).
    $discovery = new StaticDiscovery();
    foreach ($this->expectedDefinitions as $plugin_id => $definition) {
        $discovery->setDefinition($plugin_id, $definition);
    }
    $this->discovery = clone $discovery;
    foreach ($this->expectedDefinitions as $plugin_id => $definition) {
        $discovery->deleteDefinition($plugin_id);
    }
    $this->emptyDiscovery = $discovery;
}

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