function DocParserTest::testNestedArraysWithNestedAnnotation

Same name 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. 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 31

Class

DocParserTest
This class is a near-copy of Doctrine\Tests\Common\Annotations\DocParserTest, which is part of the Doctrine project: <http://www.doctrine-project.org&gt;. It was copied from version 1.2.7.

Namespace

Drupal\Tests\Component\Annotation\Doctrine

Code

public function testNestedArraysWithNestedAnnotation() : void {
    $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.