StaticDiscoveryTest.php

Same filename and directory in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Plugin/Discovery/StaticDiscoveryTest.php
  2. 10 core/tests/Drupal/KernelTests/Core/Plugin/Discovery/StaticDiscoveryTest.php
  3. 11.x core/tests/Drupal/KernelTests/Core/Plugin/Discovery/StaticDiscoveryTest.php

Namespace

Drupal\KernelTests\Core\Plugin\Discovery

File

core/tests/Drupal/KernelTests/Core/Plugin/Discovery/StaticDiscoveryTest.php

View source
<?php

namespace Drupal\KernelTests\Core\Plugin\Discovery;

use Drupal\Component\Plugin\Discovery\StaticDiscovery;

/**
 * Tests that plugins using static discovery are correctly discovered.
 *
 * @group Plugin
 */
class StaticDiscoveryTest extends DiscoveryTestBase {
    protected function setUp() {
        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;
    }

}

Classes

Title Deprecated Summary
StaticDiscoveryTest Tests that plugins using static discovery are correctly discovered.

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