assertSame($expected, $fixture->render()); // with a custom formatter $formatter = m::mock(PassthroughFormatter::class); $formatter->shouldReceive('format')->with($tags[0])->andReturn('@internal significant'); $this->assertSame($expected, $fixture->render($formatter)); } /** * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic * @uses \phpDocumentor\Reflection\DocBlock\Tags\BaseTag * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter * * @covers ::__construct * @covers ::render * @covers ::__toString */ public function testDescriptionCanBeCastToString() : void { $body = 'This is a %1$s body.'; $expected = 'This is a {@internal significant} body.'; $tags = [new Generic('internal', new Description('significant '))]; $fixture = new Description($body, $tags); $this->assertSame($expected, (string) $fixture); } /** * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic * @uses \phpDocumentor\Reflection\DocBlock\Tags\BaseTag * * @covers ::getTags */ public function testDescriptionTagsGetter() : void { $body = '@JoinTable(name="table", joinColumns=%1$s, inverseJoinColumns=%2$s)'; $tag1 = new Generic('JoinColumn', new Description('(name="column_id", referencedColumnName="id")')); $tag2 = new Generic('JoinColumn', new Description('(name="column_id_2", referencedColumnName="id")')); $tags = [ $tag1, $tag2, ]; $fixture = new Description($body, $tags); $this->assertCount(2, $fixture->getTags()); $actualTags = $fixture->getTags(); $this->assertSame($tags, $actualTags); $this->assertSame($tag1, $actualTags[0]); $this->assertSame($tag2, $actualTags[1]); } /** * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic * @uses \phpDocumentor\Reflection\DocBlock\Tags\BaseTag * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter * * @covers ::__construct * @covers ::render * @covers ::__toString */ public function testDescriptionMultipleTagsCanBeCastToString() : void { $body = '@JoinTable(name="table", joinColumns=%1$s, inverseJoinColumns=%2$s)'; $tag1 = new Generic('JoinColumn', new Description('(name="column_id", referencedColumnName="id")')); $tag2 = new Generic('JoinColumn', new Description('(name="column_id_2", referencedColumnName="id")')); $tags = [ $tag1, $tag2, ]; $fixture = new Description($body, $tags); $expected = '@JoinTable(name="table", joinColumns={@JoinColumn (name="column_id", referencedColumnName="id")}, ' . 'inverseJoinColumns={@JoinColumn (name="column_id_2", referencedColumnName="id")})'; $this->assertSame($expected, (string) $fixture); } }