Merge pull request #30 from cebe/preserve-newlines

Preserve newlines in docblock tags
This commit is contained in:
Mike van Riel
2014-03-01 11:01:55 +01:00
2 changed files with 7 additions and 7 deletions
+2 -6
View File
@@ -209,20 +209,16 @@ class DocBlock implements \Reflector
); );
} }
foreach (explode("\n", $tags) as $tag_line) { foreach (explode("\n", $tags) as $tag_line) {
if (trim($tag_line) === '') {
continue;
}
if (isset($tag_line[0]) && ($tag_line[0] === '@')) { if (isset($tag_line[0]) && ($tag_line[0] === '@')) {
$result[] = $tag_line; $result[] = $tag_line;
} else { } else {
$result[count($result) - 1] .= PHP_EOL . $tag_line; $result[count($result) - 1] .= "\n" . $tag_line;
} }
} }
// create proper Tag objects // create proper Tag objects
foreach ($result as $key => $tag_line) { foreach ($result as $key => $tag_line) {
$result[$key] = Tag::createInstance($tag_line, $this); $result[$key] = Tag::createInstance(trim($tag_line), $this);
} }
} }
@@ -14,6 +14,7 @@ namespace phpDocumentor\Reflection;
use phpDocumentor\Reflection\DocBlock\Context; use phpDocumentor\Reflection\DocBlock\Context;
use phpDocumentor\Reflection\DocBlock\Location; use phpDocumentor\Reflection\DocBlock\Location;
use phpDocumentor\Reflection\DocBlock\Tag\ReturnTag;
/** /**
* Test class for phpDocumentor\Reflection\DocBlock * Test class for phpDocumentor\Reflection\DocBlock
@@ -272,7 +273,10 @@ DOCBLOCK;
*/ */
DOCBLOCK; DOCBLOCK;
$object = new DocBlock($fixture); $object = new DocBlock($fixture);
$this->assertCount(1, $object->getTags()); $this->assertCount(1, $tags = $object->getTags());
/** @var ReturnTag $tag */
$tag = reset($tags);
$this->assertEquals("Content on\n multiple lines.\n\n One more, after the break.", $tag->getDescription());
} }
/** /**