Add tests for new tags

This commit is contained in:
Jaapio
2024-11-04 22:26:31 +01:00
parent fcb5c3df23
commit 54e10d44fc
7 changed files with 191 additions and 1 deletions
+30
View File
@@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace phpDocumentor\Reflection\DocBlock\Tags;
use phpDocumentor\Reflection\Fqsen;
use phpDocumentor\Reflection\Types\Object_;
use PHPUnit\Framework\TestCase;
/**
* @covers \phpDocumentor\Reflection\DocBlock\Tags\Extends_
*/
final class ExtendsTest extends TestCase
{
public function testExtendsCreatedCorrectly(): void
{
$type = new Object_(new Fqsen('\\Type'));
$fixture = new Extends_($type);
$this->assertSame('extends', $fixture->getName());
$this->assertSame($type, $fixture->getType());
}
public function testRendersCorrectly(): void
{
$type = new Object_(new Fqsen('\\Type'));
$fixture = new Extends_($type);
$this->assertSame('@extends \\Type', $fixture->render());
}
}
@@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace phpDocumentor\Reflection\DocBlock\Tags;
use phpDocumentor\Reflection\Fqsen;
use phpDocumentor\Reflection\Types\Object_;
use PHPUnit\Framework\TestCase;
/**
* @covers \phpDocumentor\Reflection\DocBlock\Tags\Implements_
*/
final class ImplementsTest extends TestCase
{
public function testCreatedCorrectly(): void
{
$type = new Object_(new Fqsen('\\Type'));
$fixture = new Implements_($type);
$this->assertSame('implements', $fixture->getName());
$this->assertSame($type, $fixture->getType());
}
public function testRendersCorrectly(): void
{
$type = new Object_(new Fqsen('\\Type'));
$fixture = new Implements_($type);
$this->assertSame('@implements \\Type', $fixture->render());
}
}
@@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace phpDocumentor\Reflection\DocBlock\Tags;
use phpDocumentor\Reflection\Fqsen;
use phpDocumentor\Reflection\Types\Object_;
use PHPUnit\Framework\TestCase;
/**
* @covers \phpDocumentor\Reflection\DocBlock\Tags\TemplateExtends
*/
final class TemplateExtendsTest extends TestCase
{
public function testExtendsCreatedCorrectly(): void
{
$type = new Object_(new Fqsen('\\Type'));
$fixture = new TemplateExtends($type);
$this->assertSame('template-extends', $fixture->getName());
$this->assertSame($type, $fixture->getType());
}
public function testRendersCorrectly(): void
{
$type = new Object_(new Fqsen('\\Type'));
$fixture = new TemplateExtends($type);
$this->assertSame('@template-extends \\Type', $fixture->render());
}
}
@@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace phpDocumentor\Reflection\DocBlock\Tags;
use phpDocumentor\Reflection\Fqsen;
use phpDocumentor\Reflection\Types\Object_;
use PHPUnit\Framework\TestCase;
/**
* @covers \phpDocumentor\Reflection\DocBlock\Tags\TemplateImplements
*/
final class TemplateImplementsTest extends TestCase
{
public function testCreatedCorrectly(): void
{
$type = new Object_(new Fqsen('\\Type'));
$fixture = new TemplateImplements($type);
$this->assertSame('template-implements', $fixture->getName());
$this->assertSame($type, $fixture->getType());
}
public function testRendersCorrectly(): void
{
$type = new Object_(new Fqsen('\\Type'));
$fixture = new TemplateImplements($type);
$this->assertSame('@template-implements \\Type', $fixture->render());
}
}
+38
View File
@@ -0,0 +1,38 @@
<?php
declare(strict_types=1);
namespace phpDocumentor\Reflection\DocBlock\Tags;
use phpDocumentor\Reflection\DocBlock\Description;
use phpDocumentor\Reflection\Types\Mixed_;
use phpDocumentor\Reflection\Types\String_;
use PHPUnit\Framework\TestCase;
/**
* @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Template
* @covers ::<private>
*/
final class TemplateTest extends TestCase
{
/**
* @covers ::__construct
* @covers ::getTemplateName
* @covers ::getBound
* @covers ::getDefault
*/
public function testTemplateCreatedCorrectly(): void
{
$fixture = new Template('myTemplate', new String_(), new Mixed_(), new Description(''));
$this->assertSame('template', $fixture->getName());
$this->assertSame('myTemplate', $fixture->getTemplateName());
$this->assertEquals(new String_(), $fixture->getBound());
$this->assertEquals(new Mixed_(), $fixture->getDefault());
}
public function testRendersCorrectly(): void
{
$fixture = new Template('myTemplate', new String_(), null, new Description(''));
$this->assertSame('@template myTemplate of string', $fixture->render());
}
}