function DocParserTest::testNestedArraysWithNestedAnnotation

Same name in other branches
  1. 8.9.x 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()
  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 29

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

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