function AttributeClassDiscoveryTest::testGetDefinitions

Same name and namespace in other branches
  1. 10 core/tests/Drupal/Tests/Component/Plugin/Attribute/AttributeClassDiscoveryTest.php \Drupal\Tests\Component\Plugin\Attribute\AttributeClassDiscoveryTest::testGetDefinitions()

@covers ::getDefinitions @covers ::prepareAttributeDefinition

File

core/tests/Drupal/Tests/Component/Plugin/Attribute/AttributeClassDiscoveryTest.php, line 54

Class

AttributeClassDiscoveryTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Component%21Plugin%21Discovery%21AttributeClassDiscovery.php/class/AttributeClassDiscovery/11.x" title="Defines a discovery mechanism to find plugins with attributes." class="local">\Drupal\Component\Plugin\Discovery\AttributeClassDiscovery</a> @group Attribute @runTestsInSeparateProcesses

Namespace

Drupal\Tests\Component\Plugin\Attribute

Code

public function testGetDefinitions() : void {
    $discovery = new AttributeClassDiscovery([
        'com\\example' => [
            __DIR__ . '/Fixtures/Plugins',
        ],
    ]);
    $this->assertEquals([
        'discovery_test_1' => [
            'id' => 'discovery_test_1',
            'class' => 'com\\example\\PluginNamespace\\AttributeDiscoveryTest1',
        ],
    ], $discovery->getDefinitions());
    $custom_annotation_discovery = new AttributeClassDiscovery([
        'com\\example' => [
            __DIR__ . '/Fixtures/Plugins',
        ],
    ], CustomPlugin::class);
    $this->assertEquals([
        'discovery_test_1' => [
            'id' => 'discovery_test_1',
            'class' => 'com\\example\\PluginNamespace\\AttributeDiscoveryTest1',
            'title' => 'Discovery test plugin',
        ],
    ], $custom_annotation_discovery->getDefinitions());
    $empty_discovery = new AttributeClassDiscovery([
        'com\\example' => [
            __DIR__ . '/Fixtures/Plugins',
        ],
    ], CustomPlugin2::class);
    $this->assertEquals([], $empty_discovery->getDefinitions());
}

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