Revert "Merge pull request #10 from boenrobot/author"

This reverts commit 21c36677ab, reversing
changes made to ffcaa03337.
This commit is contained in:
Vasil Rangelov
2012-11-18 17:15:48 +02:00
parent 8df7e5fb6b
commit cee63f991d
2 changed files with 11 additions and 180 deletions
@@ -18,7 +18,7 @@ use phpDocumentor\Reflection\DocBlock\Tag;
/** /**
* Reflection class for an @author tag in a Docblock. * Reflection class for an @author tag in a Docblock.
* *
* @author Vasil Rangelov <boen.robot@gmail.com> * @author Mike van Riel <mike.vanriel@naenius.com>
* @license http://www.opensource.org/licenses/mit-license.php MIT * @license http://www.opensource.org/licenses/mit-license.php MIT
* @link http://phpdoc.org * @link http://phpdoc.org
*/ */
@@ -27,11 +27,8 @@ class AuthorTag extends Tag
/** @var string The name of the author */ /** @var string The name of the author */
protected $name = ''; protected $name = '';
/** @var array Array of URIs belonging to the author, including email */ /** @var string The email of the author */
protected $uris = array(); protected $email = '';
/** @var string The role of the author */
protected $role = '';
/** /**
* Parses a tag and populates the member variables. * Parses a tag and populates the member variables.
@@ -44,33 +41,15 @@ class AuthorTag extends Tag
{ {
parent::__construct($type, $content, $docblock); parent::__construct($type, $content, $docblock);
if (preg_match( if (preg_match(
'/^ '/^([^\<]*)(\<([^\>]*)\>)?$/',
# Name
([^\<]*)
(?:
# URIs
\<([^>]*)\>\s*
# Role
(?:
\(([^\)]*)\)
)?
# Description
(.*)
)?
$/sux',
$this->description, $this->description,
$matches $matches
)) { )) {
$this->name = rtrim($matches[1]); $this->name = trim($matches[1]);
if (isset($matches[2])) { if (isset($matches[3])) {
$matches[2] = trim($matches[2]); $this->email = trim($matches[3]);
if ('' !== $matches[2]) {
$this->uris = preg_split('/\s+/u', $matches[2]);
} }
} }
$this->role = isset($matches[3]) ? trim($matches[3]) : '';
$this->description = isset($matches[4]) ? trim($matches[4]) : '';
}
} }
/** /**
@@ -84,22 +63,12 @@ class AuthorTag extends Tag
} }
/** /**
* Gets the author's URIs. * Gets the author's email.
* *
* @return array Array of URIs belonging to the author, including email. * @return string The author's email.
*/ */
public function getAuthorURIs() public function getAuthorEmail()
{ {
return $this->uris; return $this->email;
}
/**
* Gets the author's role.
*
* @return string The role of the author.
*/
public function getAuthorRole()
{
return $this->role;
} }
} }
@@ -1,138 +0,0 @@
<?php
/**
* phpDocumentor Author tag test.
*
* PHP version 5.3
*
* @author Vasil Rangelov <[email protected]>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
* @license http://www.opensource.org/licenses/mit-license.php MIT
* @link http://phpdoc.org
*/
namespace phpDocumentor\Reflection\DocBlock\Tag;
/**
* Test class for \phpDocumentor\Reflection\DocBlock\AuthorTag.
*
* @author Vasil Rangelov <[email protected]>
* @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com)
* @license http://www.opensource.org/licenses/mit-license.php MIT
* @link http://phpdoc.org
*/
class AuthorTagTest extends \PHPUnit_Framework_TestCase
{
/**
* Test that the \phpDocumentor\Reflection\DocBlock\Tag\AuthorTag can
* understand the @author DocBlock.
*
* @param string $type
* @param string $content
* @param string $extractedType
* @param string $extractedVarName
* @param string $extractedDescription
*
* @dataProvider provideDataForConstructor
*
* @return void
*/
public function testConstructorParsesInputsIntoCorrectFields(
$type,
$content,
$extractedName,
$extractedURIs,
$extractedRole,
$extractedDescription
) {
$tag = new AuthorTag($type, $content);
$this->assertEquals($extractedName, $tag->getAuthorName());
$this->assertEquals($extractedURIs, $tag->getAuthorURIs());
$this->assertEquals($extractedRole, $tag->getAuthorRole());
$this->assertEquals($extractedDescription, $tag->getDescription());
}
/**
* Data provider for testConstructorParsesInputsIntoCorrectFields()
*
* @return array
*/
public function provideDataForConstructor()
{
return array(
array('author', 'Mike van Riel', 'Mike van Riel', array(), '', ''),
array(
'author',
'Mike van Riel <[email protected]>',
'Mike van Riel',
array('[email protected]'),
'',
''
),
array(
'author',
'Mike van Riel <[email protected] >',
'Mike van Riel',
array('[email protected]'),
'',
''
),
array(
'author',
'Mike van Riel < [email protected]>',
'Mike van Riel',
array('[email protected]'),
'',
''
),
array(
'author',
'Mike van Riel < [email protected] >',
'Mike van Riel',
array('[email protected]'),
'',
''
),
array(
'author',
'Mike van Riel <[email protected] @mvriel>',
'Mike van Riel',
array('[email protected]', '@mvriel'),
'',
''
),
array(
'author',
'Mike van Riel <[email protected]> (lead)',
'Mike van Riel',
array('[email protected]'),
'lead',
''
),
array(
'author',
'Mike van Riel <[email protected]> (lead) The one',
'Mike van Riel',
array('[email protected]'),
'lead',
'The one'
),
array(
'author',
'Mike van Riel <[email protected]> The one',
'Mike van Riel',
array('[email protected]'),
'',
'The one'
),
array(
'author',
'Mike van Riel <> The one',
'Mike van Riel',
array(),
'',
'The one'
)
);
}
}