You are here

public function DocParserTest::testDefaultValueAnnotations in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Component/Annotation/Doctrine/DocParserTest.php \Drupal\Tests\Component\Annotation\Doctrine\DocParserTest::testDefaultValueAnnotations()
  2. 10 core/tests/Drupal/Tests/Component/Annotation/Doctrine/DocParserTest.php \Drupal\Tests\Component\Annotation\Doctrine\DocParserTest::testDefaultValueAnnotations()

File

core/tests/Drupal/Tests/Component/Annotation/Doctrine/DocParserTest.php, line 115

Class

DocParserTest
@coversDefaultClass \Drupal\Component\Annotation\Doctrine\DocParser

Namespace

Drupal\Tests\Component\Annotation\Doctrine

Code

public function testDefaultValueAnnotations() {
  $parser = $this
    ->createTestParser();

  // Array as first value
  $result = $parser
    ->parse('@Name({"key1"="value1"})');
  $annot = $result[0];
  $this
    ->assertInstanceOf(Name::class, $annot);
  $this
    ->assertIsArray($annot->value);
  $this
    ->assertEquals('value1', $annot->value['key1']);

  // Array as first value and additional values
  $result = $parser
    ->parse('@Name({"key1"="value1"}, foo="bar")');
  $annot = $result[0];
  $this
    ->assertInstanceOf(Name::class, $annot);
  $this
    ->assertIsArray($annot->value);
  $this
    ->assertEquals('value1', $annot->value['key1']);
  $this
    ->assertEquals('bar', $annot->foo);
}