Merge pull request #144 from ashnazg/bug-63

Ellipsis in summary
This commit is contained in:
Jaap van Otterdijk
2018-01-07 21:52:59 +01:00
committed by GitHub
3 changed files with 41 additions and 1 deletions
+1 -1
View File
@@ -166,7 +166,7 @@ final class DocBlockFactory implements DocBlockFactoryInterface
[^\n.]+ [^\n.]+
(?: (?:
(?! \. \n | \n{2} ) # End summary upon a dot followed by newline or two newlines (?! \. \n | \n{2} ) # End summary upon a dot followed by newline or two newlines
[\n.] (?! [ \t]* @\pL ) # End summary when an @ is found as first character on a new line [\n.]* (?! [ \t]* @\pL ) # End summary when an @ is found as first character on a new line
[^\n.]+ # Include anything else [^\n.]+ # Include anything else
)* )*
\.? \.?
@@ -33,6 +33,31 @@ class InterpretingDocBlocksTest extends TestCase
m::close(); m::close();
} }
public function testInterpretingSummaryWithEllipsis(): void
{
$docblock = <<<DOCBLOCK
/**
* This is a short (...) description.
*
* This is a long description.
*
* @return void
*/
DOCBLOCK;
$factory = DocBlockFactory::createInstance();
$phpdoc = $factory->create($docblock);
$summary = 'This is a short (...) description.';
$description = 'This is a long description.';
$this->assertInstanceOf(DocBlock::class, $phpdoc);
$this->assertSame($summary, $phpdoc->getSummary());
$this->assertSame($description, $phpdoc->getDescription()->render());
$this->assertCount(1, $phpdoc->getTags());
$this->assertTrue($phpdoc->hasTag('return'));
}
public function testInterpretingASimpleDocBlock(): void public function testInterpretingASimpleDocBlock(): void
{ {
/** /**
+15
View File
@@ -48,6 +48,21 @@ class DocBlockTest extends TestCase
$this->assertSame($summary, $fixture->getSummary()); $this->assertSame($summary, $fixture->getSummary());
} }
/**
* @covers ::__construct
* @covers ::getSummary
*
* @uses \phpDocumentor\Reflection\DocBlock\Description
*/
public function testDocBlockCanHaveEllipsisInSummary(): void
{
$summary = 'This is a short (...) description.';
$fixture = new DocBlock($summary);
$this->assertSame($summary, $fixture->getSummary());
}
/** /**
* @covers ::__construct * @covers ::__construct
* @covers ::getDescription * @covers ::getDescription