Add more tests

This commit is contained in:
Jaapio
2020-08-12 15:27:12 +02:00
parent 1ac416df3f
commit f0af3b7263
2 changed files with 35 additions and 2 deletions
@@ -122,6 +122,37 @@ class DescriptionFactoryTest extends TestCase
$this->assertSame($contents, $description->render());
}
/**
* @uses \phpDocumentor\Reflection\DocBlock\Description
* @uses \phpDocumentor\Reflection\DocBlock\Tags\Link
* @uses \phpDocumentor\Reflection\DocBlock\Tags\BaseTag
* @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter
* @uses \phpDocumentor\Reflection\Types\Context
*
* @covers ::__construct
* @covers ::create
*/
public function testDescriptionCanParseAStringContainingMultipleTags() : void
{
$contents = 'This description has a {@link http://phpdoc.org/ This} another {@link http://phpdoc.org/ This2}';
$context = new Context('');
$tagFactory = m::mock(TagFactory::class);
$tagFactory->shouldReceive('create')
->twice()
->andReturnValues(
[
new LinkTag('http://phpdoc.org/', new Description('This')),
new LinkTag('http://phpdoc.org/', new Description('This2')),
]
);
$factory = new DescriptionFactory($tagFactory);
$description = $factory->create($contents, $context);
$this->assertSame($contents, $description->render());
$this->assertSame('This description has a %1$s another %2$s', $description->getBodyTemplate());
}
/**
* @uses \phpDocumentor\Reflection\DocBlock\Description
*
+4 -2
View File
@@ -124,15 +124,17 @@ class DocBlockTest extends TestCase
$tag1 = m::mock(DocBlock\Tag::class);
$tag2 = m::mock(DocBlock\Tag::class);
$tag3 = m::mock(DocBlock\Tag::class);
$tags = [$tag1, $tag2, $tag3];
$tag4 = m::mock(DocBlock\Tag::class);
$tags = [$tag1, $tag2, $tag3, $tag4];
$tag1->shouldReceive('getName')->andReturn('abc');
$tag2->shouldReceive('getName')->andReturn('abcd');
$tag4->shouldReceive('getName')->andReturn('abcd');
$tag3->shouldReceive('getName')->andReturn('ab');
$fixture = new DocBlock('', null, $tags);
$this->assertSame([$tag2], $fixture->getTagsByName('abcd'));
$this->assertSame([$tag2, $tag4], $fixture->getTagsByName('abcd'));
$this->assertSame([], $fixture->getTagsByName('Ebcd'));
}