1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-12 09:19:40 +01:00
psalm/tests/ClassLikeDocblockParserTest.php
2023-10-19 14:16:41 +02:00

41 lines
1.0 KiB
PHP

<?php
declare(strict_types=1);
namespace Psalm\Tests;
use PhpParser\Comment\Doc;
use PhpParser\Node\Stmt\Class_;
use Psalm\Aliases;
use Psalm\Internal\PhpVisitor\Reflector\ClassLikeDocblockParser;
class ClassLikeDocblockParserTest extends TestCase
{
public function testDocblockDescription(): void
{
$doc = '/**
* Some Description
*
*/
';
$node = new Class_(null);
$php_parser_doc = new Doc($doc);
$class_docblock = ClassLikeDocblockParser::parse($node, $php_parser_doc, new Aliases());
$this->assertSame('Some Description', $class_docblock->description);
}
public function testPreferPsalmPrefixedAnnotationsOverPhpstanOnes(): void
{
$doc = '/**
* @psalm-template-covariant T of string
* @phpstan-template T of int
*/
';
$node = new Class_(null);
$php_parser_doc = new Doc($doc);
$class_docblock = ClassLikeDocblockParser::parse($node, $php_parser_doc, new Aliases());
$this->assertSame([['T', 'of', 'string', true, 33]], $class_docblock->templates);
}
}