1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-30 04:39:00 +01:00
psalm/tests/ClassLikeDocblockParserTest.php

41 lines
1.0 KiB
PHP
Raw Normal View History

<?php
2023-10-19 13:12:06 +02:00
declare(strict_types=1);
namespace Psalm\Tests;
2021-12-03 20:11:20 +01:00
use PhpParser\Comment\Doc;
2021-06-08 04:55:21 +02:00
use PhpParser\Node\Stmt\Class_;
use Psalm\Aliases;
use Psalm\Internal\PhpVisitor\Reflector\ClassLikeDocblockParser;
2021-12-03 20:11:20 +01:00
class ClassLikeDocblockParserTest extends TestCase
{
public function testDocblockDescription(): void
{
$doc = '/**
* Some Description
*
*/
';
$node = new Class_(null);
2021-12-03 20:11:20 +01:00
$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);
2021-12-03 20:11:20 +01:00
$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);
}
}