annotate core/tests/Drupal/Tests/Component/Annotation/PluginIdTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 1fec387a4317
children
rev   line source
Chris@14 1 <?php
Chris@14 2
Chris@14 3 namespace Drupal\Tests\Component\Annotation;
Chris@14 4
Chris@14 5 use Drupal\Component\Annotation\PluginID;
Chris@14 6 use PHPUnit\Framework\TestCase;
Chris@14 7
Chris@14 8 /**
Chris@14 9 * @coversDefaultClass \Drupal\Component\Annotation\PluginId
Chris@14 10 * @group Annotation
Chris@14 11 */
Chris@14 12 class PluginIdTest extends TestCase {
Chris@14 13
Chris@14 14 /**
Chris@14 15 * @covers ::get
Chris@14 16 */
Chris@14 17 public function testGet() {
Chris@14 18 // Assert plugin starts empty regardless of constructor.
Chris@14 19 $plugin = new PluginID([
Chris@14 20 'foo' => 'bar',
Chris@14 21 'biz' => [
Chris@14 22 'baz' => 'boom',
Chris@14 23 ],
Chris@14 24 'nestedAnnotation' => new PluginID([
Chris@14 25 'foo' => 'bar',
Chris@14 26 ]),
Chris@14 27 'value' => 'biz',
Chris@14 28 ]);
Chris@14 29 $this->assertEquals([
Chris@14 30 'id' => NULL,
Chris@14 31 'class' => NULL,
Chris@14 32 'provider' => NULL,
Chris@14 33 ], $plugin->get());
Chris@14 34
Chris@14 35 // Set values and ensure we can retrieve them.
Chris@14 36 $plugin->value = 'foo';
Chris@14 37 $plugin->setClass('bar');
Chris@14 38 $plugin->setProvider('baz');
Chris@14 39 $this->assertEquals([
Chris@14 40 'id' => 'foo',
Chris@14 41 'class' => 'bar',
Chris@14 42 'provider' => 'baz',
Chris@14 43 ], $plugin->get());
Chris@14 44 }
Chris@14 45
Chris@14 46 /**
Chris@14 47 * @covers ::getId
Chris@14 48 */
Chris@14 49 public function testGetId() {
Chris@14 50 $plugin = new PluginID([]);
Chris@14 51 $plugin->value = 'example';
Chris@14 52 $this->assertEquals('example', $plugin->getId());
Chris@14 53 }
Chris@14 54
Chris@14 55 }