Skip to content

Commit 2ecaa9f

Browse files
othercoreyjaapio
authored andcommitted
Fixed @method annotations with an empty argument list and description
1 parent c22984e commit 2ecaa9f

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

src/DocBlock/Tags/Method.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,8 @@ public static function create(
102102
)
103103
\s+
104104
)?
105-
# Legacy method name (not captured)
106-
(?:
107-
[\w_]+\(\)\s+
108-
)?
109105
# Method name
110-
([\w\|_\\\\]+)
106+
([\w_]+)
111107
# Arguments
112108
(?:
113109
\(([^\)]*)\)

tests/unit/DocBlock/Tags/MethodTest.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,40 @@ public function testCreateMethodParenthesisMissing()
482482

483483
/**
484484
* @covers ::create
485+
* @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::<public>
486+
* @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory
487+
* @uses \phpDocumentor\Reflection\TypeResolver
488+
* @uses \phpDocumentor\Reflection\DocBlock\Description
489+
* @uses \phpDocumentor\Reflection\Fqsen
490+
* @uses \phpDocumentor\Reflection\Types\Context
491+
*
492+
* @covers ::create
493+
*/
494+
public function testCreateMethodEmptyArguments() : void
495+
{
496+
$descriptionFactory = m::mock(DescriptionFactory::class);
497+
$resolver = new TypeResolver();
498+
$context = new Context('');
499+
500+
$description = new Description('My Description');
501+
502+
$descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description);
503+
504+
$fixture = Method::create(
505+
'static void myMethod() My Description',
506+
$resolver,
507+
$descriptionFactory,
508+
$context
509+
);
510+
511+
$this->assertSame('static void myMethod() My Description', (string) $fixture);
512+
$this->assertSame('myMethod', $fixture->getMethodName());
513+
$this->assertEquals([], $fixture->getArguments());
514+
$this->assertInstanceOf(Void_::class, $fixture->getReturnType());
515+
$this->assertSame($description, $fixture->getDescription());
516+
}
517+
518+
/**
485519
* @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::<public>
486520
* @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory
487521
* @uses \phpDocumentor\Reflection\TypeResolver

0 commit comments

Comments
 (0)