Merge pull request #188 from othercorey/method-arguments

Fixed @method annotations with an empty argument list and description
This commit is contained in:
Jaap van Otterdijk
2019-12-20 14:23:12 +01:00
committed by GitHub
2 changed files with 35 additions and 5 deletions
+1 -5
View File
@@ -120,12 +120,8 @@ final class Method extends BaseTag implements Factory\StaticMethod
)
\s+
)?
# Legacy method name (not captured)
(?:
[\w_]+\(\)\s+
)?
# Method name
([\w\|_\\\\]+)
([\w_]+)
# Arguments
(?:
\(([^\)]*)\)
+34
View File
@@ -472,6 +472,40 @@ class MethodTest extends TestCase
$this->assertSame($description, $fixture->getDescription());
}
/**
* @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::<public>
* @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory
* @uses \phpDocumentor\Reflection\TypeResolver
* @uses \phpDocumentor\Reflection\DocBlock\Description
* @uses \phpDocumentor\Reflection\Fqsen
* @uses \phpDocumentor\Reflection\Types\Context
*
* @covers ::create
*/
public function testCreateMethodEmptyArguments() : void
{
$descriptionFactory = m::mock(DescriptionFactory::class);
$resolver = new TypeResolver();
$context = new Context('');
$description = new Description('My Description');
$descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description);
$fixture = Method::create(
'static void myMethod() My Description',
$resolver,
$descriptionFactory,
$context
);
$this->assertSame('static void myMethod() My Description', (string) $fixture);
$this->assertSame('myMethod', $fixture->getMethodName());
$this->assertEquals([], $fixture->getArguments());
$this->assertInstanceOf(Void_::class, $fixture->getReturnType());
$this->assertSame($description, $fixture->getDescription());
}
/**
* @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::<public>
* @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory