More updates to stop using dev or alpha or beta versions.
[yaffs-website] / web / core / tests / Drupal / Tests / Component / Annotation / PluginTest.php
1 <?php
2
3 namespace Drupal\Tests\Component\Annotation;
4
5 use Drupal\Component\Annotation\Plugin;
6 use PHPUnit\Framework\TestCase;
7
8 /**
9  * @coversDefaultClass \Drupal\Component\Annotation\Plugin
10  * @group Annotation
11  */
12 class PluginTest extends TestCase {
13
14   /**
15    * @covers ::__construct
16    * @covers ::parse
17    * @covers ::get
18    */
19   public function testGet() {
20     // Assert all values are accepted through constructor and default value is
21     // used for non existent but defined property.
22     $plugin = new PluginStub([
23       'foo' => 'bar',
24       'biz' => [
25         'baz' => 'boom',
26       ],
27       'nestedAnnotation' => new Plugin([
28         'foo' => 'bar',
29       ]),
30     ]);
31     $this->assertEquals([
32       // This property wasn't in our definition but is defined as a property on
33       // our plugin class.
34       'defaultProperty' => 'testvalue',
35       'foo' => 'bar',
36       'biz' => [
37         'baz' => 'boom',
38       ],
39       'nestedAnnotation' => [
40         'foo' => 'bar',
41       ],
42     ], $plugin->get());
43
44     // Without default properties, we get a completely empty plugin definition.
45     $plugin = new Plugin([]);
46     $this->assertEquals([], $plugin->get());
47   }
48
49   /**
50    * @covers ::getProvider
51    */
52   public function testGetProvider() {
53     $plugin = new Plugin(['provider' => 'example']);
54     $this->assertEquals('example', $plugin->getProvider());
55   }
56
57   /**
58    * @covers ::setProvider
59    */
60   public function testSetProvider() {
61     $plugin = new Plugin([]);
62     $plugin->setProvider('example');
63     $this->assertEquals('example', $plugin->getProvider());
64   }
65
66   /**
67    * @covers ::getId
68    */
69   public function testGetId() {
70     $plugin = new Plugin(['id' => 'example']);
71     $this->assertEquals('example', $plugin->getId());
72   }
73
74   /**
75    * @covers ::getClass
76    */
77   public function testGetClass() {
78     $plugin = new Plugin(['class' => 'example']);
79     $this->assertEquals('example', $plugin->getClass());
80   }
81
82   /**
83    * @covers ::setClass
84    */
85   public function testSetClass() {
86     $plugin = new Plugin([]);
87     $plugin->setClass('example');
88     $this->assertEquals('example', $plugin->getClass());
89   }
90
91 }
92 /**
93  * {@inheritdoc}
94  */
95 class PluginStub extends Plugin {
96   protected $defaultProperty = 'testvalue';
97
98 }