function PluginTest::testGet

Same name in this branch
  1. 10 core/tests/Drupal/Tests/Component/Plugin/Attribute/PluginTest.php \Drupal\Tests\Component\Plugin\Attribute\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. 8.9.x core/tests/Drupal/Tests/Component/Annotation/PluginTest.php \Drupal\Tests\Component\Annotation\PluginTest::testGet()
  3. 11.x core/tests/Drupal/Tests/Component/Annotation/PluginTest.php \Drupal\Tests\Component\Annotation\PluginTest::testGet()
  4. 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 21

Class

PluginTest
@coversDefaultClass \Drupal\Component\Annotation\Plugin[[api-linebreak]] @group Annotation

Namespace

Drupal\Tests\Component\Annotation

Code

public function testGet() : void {
  // 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' => 'test_value',
    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.