DCOM58Test.php in Drupal 9
File
core/tests/Drupal/Tests/Component/Annotation/Doctrine/Ticket/DCOM58Test.php
View source
<?php
namespace Drupal\Tests\Component\Annotation\Doctrine\Ticket;
use Drupal\Component\Annotation\Doctrine\DocParser;
use Drupal\Component\Annotation\Doctrine\SimpleAnnotationReader;
use PHPUnit\Framework\TestCase;
class DCOM58Test extends TestCase {
public function setUp() : void {
include __DIR__ . '/DCOM58Entity.php';
}
public function testIssueGlobalNamespace() {
$docblock = "@Entity";
$parser = new DocParser();
$parser
->setImports(array(
"__NAMESPACE__" => "Drupal\\Tests\\Component\\Annotation\\Doctrine\\Ticket\\Doctrine\\ORM\\Mapping",
));
$annots = $parser
->parse($docblock);
$this
->assertCount(1, $annots);
$this
->assertInstanceOf("Drupal\\Tests\\Component\\Annotation\\Doctrine\\Ticket\\Doctrine\\ORM\\Mapping\\Entity", $annots[0]);
}
public function testIssueNamespaces() {
$docblock = "@Entity";
$parser = new DocParser();
$parser
->addNamespace("Drupal\\Tests\\Component\\Annotation\\Doctrine\\Ticket\\Doctrine\\ORM");
$annots = $parser
->parse($docblock);
$this
->assertCount(1, $annots);
$this
->assertInstanceOf("Drupal\\Tests\\Component\\Annotation\\Doctrine\\Ticket\\Doctrine\\ORM\\Entity", $annots[0]);
}
public function testIssueMultipleNamespaces() {
$docblock = "@Entity";
$parser = new DocParser();
$parser
->addNamespace("Drupal\\Tests\\Component\\Annotation\\Doctrine\\Ticket\\Doctrine\\ORM\\Mapping");
$parser
->addNamespace("Drupal\\Tests\\Component\\Annotation\\Doctrine\\Ticket\\Doctrine\\ORM");
$annots = $parser
->parse($docblock);
$this
->assertCount(1, $annots);
$this
->assertInstanceOf("Drupal\\Tests\\Component\\Annotation\\Doctrine\\Ticket\\Doctrine\\ORM\\Mapping\\Entity", $annots[0]);
}
public function testIssueWithNamespacesOrImports() {
$docblock = "@Entity";
$parser = new DocParser();
$annots = $parser
->parse($docblock);
$this
->assertCount(1, $annots);
$this
->assertInstanceOf("Entity", $annots[0]);
$this
->assertCount(1, $annots);
}
public function testIssueSimpleAnnotationReader() {
$reader = new SimpleAnnotationReader();
$reader
->addNamespace('Drupal\\Tests\\Component\\Annotation\\Doctrine\\Ticket\\Doctrine\\ORM\\Mapping');
$annots = $reader
->getClassAnnotations(new \ReflectionClass(__NAMESPACE__ . "\\MappedClass"));
$this
->assertCount(1, $annots);
$this
->assertInstanceOf("Drupal\\Tests\\Component\\Annotation\\Doctrine\\Ticket\\Doctrine\\ORM\\Mapping\\Entity", $annots[0]);
}
}
class MappedClass {
}
namespace Drupal\Tests\Component\Annotation\Doctrine\Ticket\Doctrine\ORM\Mapping;
class Entity {
}
namespace Drupal\Tests\Component\Annotation\Doctrine\Ticket\Doctrine\ORM;
class Entity {
}