PluginTest.php
Same filename in other branches
- 8.9.x core/tests/Drupal/Tests/Component/Annotation/PluginTest.php
- 10 core/tests/Drupal/Tests/Component/Annotation/PluginTest.php
- 10 core/tests/Drupal/Tests/Component/Plugin/Attribute/PluginTest.php
- 11.x core/tests/Drupal/Tests/Component/Annotation/PluginTest.php
- 11.x core/tests/Drupal/Tests/Component/Plugin/Attribute/PluginTest.php
Namespace
Drupal\Tests\Component\AnnotationFile
-
core/
tests/ Drupal/ Tests/ Component/ Annotation/ PluginTest.php
View source
<?php
namespace Drupal\Tests\Component\Annotation;
use Drupal\Component\Annotation\Plugin;
use PHPUnit\Framework\TestCase;
/**
* @coversDefaultClass \Drupal\Component\Annotation\Plugin
* @group Annotation
*/
class PluginTest extends TestCase {
/**
* @covers ::__construct
* @covers ::parse
* @covers ::get
*/
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());
}
/**
* @covers ::getProvider
*/
public function testGetProvider() {
$plugin = new Plugin([
'provider' => 'example',
]);
$this->assertEquals('example', $plugin->getProvider());
}
/**
* @covers ::setProvider
*/
public function testSetProvider() {
$plugin = new Plugin([]);
$plugin->setProvider('example');
$this->assertEquals('example', $plugin->getProvider());
}
/**
* @covers ::getId
*/
public function testGetId() {
$plugin = new Plugin([
'id' => 'example',
]);
$this->assertEquals('example', $plugin->getId());
}
/**
* @covers ::getClass
*/
public function testGetClass() {
$plugin = new Plugin([
'class' => 'example',
]);
$this->assertEquals('example', $plugin->getClass());
}
/**
* @covers ::setClass
*/
public function testSetClass() {
$plugin = new Plugin([]);
$plugin->setClass('example');
$this->assertEquals('example', $plugin->getClass());
}
}
/**
* {@inheritdoc}
*/
class PluginStub extends Plugin {
protected $defaultProperty = 'testvalue';
}
Classes
Title | Deprecated | Summary |
---|---|---|
PluginStub | ||
PluginTest | @coversDefaultClass \Drupal\Component\Annotation\Plugin @group Annotation |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.