You are here

public function DocParserTest::testNestedArraysWithNestedAnnotation in Drupal 8

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

File

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

Class

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

Namespace

Drupal\Tests\Component\Annotation\Doctrine

Code

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

  // Nested arrays with nested annotations
  $result = $parser
    ->parse('@Name(foo={1,2, {"key"=@Name}})');
  $annot = $result[0];
  $this
    ->assertInstanceOf(Name::class, $annot);
  $this
    ->assertNull($annot->value);
  $this
    ->assertCount(3, $annot->foo);
  $this
    ->assertEquals(1, $annot->foo[0]);
  $this
    ->assertEquals(2, $annot->foo[1]);
  $this
    ->assertIsArray($annot->foo[2]);
  $nestedArray = $annot->foo[2];
  $this
    ->assertTrue(isset($nestedArray['key']));
  $this
    ->assertInstanceOf(Name::class, $nestedArray['key']);
}