PluginIdTest.php

Same filename in other branches
  1. 9 core/tests/Drupal/Tests/Component/Annotation/PluginIdTest.php
  2. 10 core/tests/Drupal/Tests/Component/Annotation/PluginIdTest.php
  3. 10 core/tests/Drupal/Tests/Component/Plugin/Attribute/PluginIdTest.php
  4. 11.x core/tests/Drupal/Tests/Component/Annotation/PluginIdTest.php
  5. 11.x core/tests/Drupal/Tests/Component/Plugin/Attribute/PluginIdTest.php

Namespace

Drupal\Tests\Component\Annotation

File

core/tests/Drupal/Tests/Component/Annotation/PluginIdTest.php

View source
<?php

namespace Drupal\Tests\Component\Annotation;

use Drupal\Component\Annotation\PluginID;
use PHPUnit\Framework\TestCase;

/**
 * @coversDefaultClass \Drupal\Component\Annotation\PluginId
 * @group Annotation
 */
class PluginIdTest extends TestCase {
    
    /**
     * @covers ::get
     */
    public function testGet() {
        // Assert plugin starts empty regardless of constructor.
        $plugin = new PluginID([
            'foo' => 'bar',
            'biz' => [
                'baz' => 'boom',
            ],
            'nestedAnnotation' => new PluginID([
                'foo' => 'bar',
            ]),
            'value' => 'biz',
        ]);
        $this->assertEquals([
            'id' => NULL,
            'class' => NULL,
            'provider' => NULL,
        ], $plugin->get());
        // Set values and ensure we can retrieve them.
        $plugin->value = 'foo';
        $plugin->setClass('bar');
        $plugin->setProvider('baz');
        $this->assertEquals([
            'id' => 'foo',
            'class' => 'bar',
            'provider' => 'baz',
        ], $plugin->get());
    }
    
    /**
     * @covers ::getId
     */
    public function testGetId() {
        $plugin = new PluginID([]);
        $plugin->value = 'example';
        $this->assertEquals('example', $plugin->getId());
    }

}

Classes

Title Deprecated Summary
PluginIdTest @coversDefaultClass \Drupal\Component\Annotation\PluginId @group Annotation

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