function PluginTest::testGet

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Component/Annotation/PluginTest.php \Drupal\Tests\Component\Annotation\PluginTest::testGet()
  2. 10 core/tests/Drupal/Tests/Component/Annotation/PluginTest.php \Drupal\Tests\Component\Annotation\PluginTest::testGet()
  3. 10 core/tests/Drupal/Tests/Component/Plugin/Attribute/PluginTest.php \Drupal\Tests\Component\Plugin\Attribute\PluginTest::testGet()
  4. 11.x core/tests/Drupal/Tests/Component/Annotation/PluginTest.php \Drupal\Tests\Component\Annotation\PluginTest::testGet()
  5. 11.x core/tests/Drupal/Tests/Component/Plugin/Attribute/PluginTest.php \Drupal\Tests\Component\Plugin\Attribute\PluginTest::testGet()

@covers ::__construct @covers ::parse @covers ::get

File

core/tests/Drupal/Tests/Component/Annotation/PluginTest.php, line 19

Class

PluginTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Component%21Annotation%21Plugin.php/class/Plugin/8.9.x" title="Defines a Plugin annotation object." class="local">\Drupal\Component\Annotation\Plugin</a> @group Annotation

Namespace

Drupal\Tests\Component\Annotation

Code

public function testGet() {
    // Assert all values are accepted through constructor and default value is
    // used for non existent but defined property.
    $plugin = new PluginStub([
        1 => 'oak',
        'foo' => 'bar',
        'biz' => [
            'baz' => 'boom',
        ],
        'nestedAnnotation' => new Plugin([
            'foo' => 'bar',
        ]),
    ]);
    $this->assertEquals([
        // This property wasn't in our definition but is defined as a property on
        // our plugin class.
'defaultProperty' => 'testvalue',
        1 => 'oak',
        'foo' => 'bar',
        'biz' => [
            'baz' => 'boom',
        ],
        'nestedAnnotation' => [
            'foo' => 'bar',
        ],
    ], $plugin->get());
    // Without default properties, we get a completely empty plugin definition.
    $plugin = new Plugin([]);
    $this->assertEquals([], $plugin->get());
}

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