1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
<?php
/**
* @see https://github.com/laminas/laminas-code for the canonical source repository
* @copyright https://github.com/laminas/laminas-code/blob/master/COPYRIGHT.md
* @license https://github.com/laminas/laminas-code/blob/master/LICENSE.md New BSD License
*/
namespace LaminasTest\Code\Scanner;
use Laminas\Code\Scanner\DocBlockScanner;
use PHPUnit\Framework\TestCase;
use function str_replace;
/**
* @group Laminas_Code_Scanner
*/
class DocBlockScannerTest extends TestCase
{
/**
* @group Laminas-110
*/
public function testDocBlockScannerParsesTagsWithNoValuesProperly()
{
$docComment = <<<EOB
/**
* @mytag
*/
EOB;
$tokenScanner = new DocBlockScanner($docComment);
$tags = $tokenScanner->getTags();
self::assertCount(1, $tags);
self::assertArrayHasKey('name', $tags[0]);
self::assertEquals('@mytag', $tags[0]['name']);
self::assertArrayHasKey('value', $tags[0]);
self::assertEquals('', $tags[0]['value']);
}
public function testDocBlockScannerDescriptions()
{
$docComment = <<<EOB
/**
* Short Description
*
* Long Description
* continued in the second line
*/
EOB;
$tokenScanner = new DocBlockScanner($docComment);
self::assertEquals('Short Description', $tokenScanner->getShortDescription());
self::assertEquals('Long Description continued in the second line', $tokenScanner->getLongDescription());
// windows-style line separators
$docComment = str_replace("\n", "\r\n", $docComment);
$tokenScanner = new DocBlockScanner($docComment);
self::assertEquals('Short Description', $tokenScanner->getShortDescription());
self::assertEquals('Long Description continued in the second line', $tokenScanner->getLongDescription());
}
}
|