function DocParserTest::testNestedArraysWithNestedAnnotation

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. 8.9.x core/tests/Drupal/Tests/Component/Annotation/Doctrine/DocParserTest.php \Drupal\Tests\Component\Annotation\Doctrine\DocParserTest::testNestedArraysWithNestedAnnotation()
  3. 11.x 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 31

Class

DocParserTest
@coversDefaultClass \Drupal\Component\Annotation\Doctrine\DocParser[[api-linebreak]]

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']);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.