@@ -117,6 +117,7 @@ protected function setUp(): void
117
117
* @dataProvider provideParamOutTagsData
118
118
* @dataProvider provideDoctrineData
119
119
* @dataProvider provideDoctrineWithoutDoctrineCheckData
120
+ * @dataProvider provideCommentLikeDescriptions
120
121
*/
121
122
public function testParse (
122
123
string $ label ,
@@ -5561,6 +5562,98 @@ public function provideSelfOutTagsData(): Iterator
5561
5562
];
5562
5563
}
5563
5564
5565
+ public function provideCommentLikeDescriptions (): Iterator
5566
+ {
5567
+ yield [
5568
+ 'Comment after @param ' ,
5569
+ '/** @param int $a // this is a description */ ' ,
5570
+ new PhpDocNode ([
5571
+ new PhpDocTagNode ('@param ' , new ParamTagValueNode (
5572
+ new IdentifierTypeNode ('int ' ),
5573
+ false ,
5574
+ '$a ' ,
5575
+ '// this is a description '
5576
+ )),
5577
+ ]),
5578
+ ];
5579
+
5580
+ yield [
5581
+ 'Comment on a separate line ' ,
5582
+ '/** ' . PHP_EOL .
5583
+ ' * @param int $a ' . PHP_EOL .
5584
+ ' * // this is a comment ' . PHP_EOL .
5585
+ ' */ ' ,
5586
+ new PhpDocNode ([
5587
+ new PhpDocTagNode ('@param ' , new ParamTagValueNode (
5588
+ new IdentifierTypeNode ('int ' ),
5589
+ false ,
5590
+ '$a ' ,
5591
+ ''
5592
+ )),
5593
+ new PhpDocTextNode ('// this is a comment ' ),
5594
+ ]),
5595
+ ];
5596
+ yield [
5597
+ 'Comment on a separate line 2 ' ,
5598
+ '/** ' . PHP_EOL .
5599
+ ' * @param int $a ' . PHP_EOL .
5600
+ ' * ' . PHP_EOL .
5601
+ ' * // this is a comment ' . PHP_EOL .
5602
+ ' */ ' ,
5603
+ new PhpDocNode ([
5604
+ new PhpDocTagNode ('@param ' , new ParamTagValueNode (
5605
+ new IdentifierTypeNode ('int ' ),
5606
+ false ,
5607
+ '$a ' ,
5608
+ ''
5609
+ )),
5610
+ new PhpDocTextNode ('' ),
5611
+ new PhpDocTextNode ('// this is a comment ' ),
5612
+ ]),
5613
+ ];
5614
+ yield [
5615
+ 'Comment after Doctrine tag 1 ' ,
5616
+ '/** @ORM\Doctrine // this is a description */ ' ,
5617
+ new PhpDocNode ([
5618
+ new PhpDocTagNode ('@ORM\Doctrine ' , new GenericTagValueNode ('// this is a description ' )),
5619
+ ]),
5620
+ ];
5621
+ yield [
5622
+ 'Comment after Doctrine tag 2 ' ,
5623
+ '/** @\ORM\Doctrine // this is a description */ ' ,
5624
+ new PhpDocNode ([
5625
+ new PhpDocTagNode ('@\ORM\Doctrine ' , new DoctrineTagValueNode (
5626
+ new DoctrineAnnotation ('@\ORM\Doctrine ' , []),
5627
+ '// this is a description '
5628
+ )),
5629
+ ]),
5630
+ ];
5631
+ yield [
5632
+ 'Comment after Doctrine tag 3 ' ,
5633
+ '/** @\ORM\Doctrine() // this is a description */ ' ,
5634
+ new PhpDocNode ([
5635
+ new PhpDocTagNode ('@\ORM\Doctrine ' , new DoctrineTagValueNode (
5636
+ new DoctrineAnnotation ('@\ORM\Doctrine ' , []),
5637
+ '// this is a description '
5638
+ )),
5639
+ ]),
5640
+ ];
5641
+ yield [
5642
+ 'Comment after Doctrine tag 4 ' ,
5643
+ '/** @\ORM\Doctrine() @\ORM\Entity() // this is a description */ ' ,
5644
+ new PhpDocNode ([
5645
+ new PhpDocTagNode ('@\ORM\Doctrine ' , new DoctrineTagValueNode (
5646
+ new DoctrineAnnotation ('@\ORM\Doctrine ' , []),
5647
+ ''
5648
+ )),
5649
+ new PhpDocTagNode ('@\ORM\Entity ' , new DoctrineTagValueNode (
5650
+ new DoctrineAnnotation ('@\ORM\Entity ' , []),
5651
+ '// this is a description '
5652
+ )),
5653
+ ]),
5654
+ ];
5655
+ }
5656
+
5564
5657
public function provideParamOutTagsData (): Iterator
5565
5658
{
5566
5659
yield [
0 commit comments