class DocParserIgnoredClassesTest
Same name in other branches
- 8.9.x core/tests/Drupal/Tests/Component/Annotation/DocParserIgnoredClassesTest.php \Drupal\Tests\Component\Annotation\DocParserIgnoredClassesTest
- 10 core/tests/Drupal/Tests/Component/Annotation/DocParserIgnoredClassesTest.php \Drupal\Tests\Component\Annotation\DocParserIgnoredClassesTest
- 11.x core/tests/Drupal/Tests/Component/Annotation/DocParserIgnoredClassesTest.php \Drupal\Tests\Component\Annotation\DocParserIgnoredClassesTest
@coversDefaultClass \Drupal\Component\Annotation\Doctrine\DocParser
@group Annotation
Hierarchy
- class \Drupal\Tests\Component\Annotation\DocParserIgnoredClassesTest extends \PHPUnit\Framework\TestCase
Expanded class hierarchy of DocParserIgnoredClassesTest
File
-
core/
tests/ Drupal/ Tests/ Component/ Annotation/ DocParserIgnoredClassesTest.php, line 13
Namespace
Drupal\Tests\Component\AnnotationView source
class DocParserIgnoredClassesTest extends TestCase {
/**
* Ensure annotations can be ignored when namespaces are present.
*
* Drupal's DocParser should never use class_exists() on an ignored
* annotation, including cases where namespaces are set.
*/
public function testIgnoredAnnotationSkippedBeforeReflection() {
$annotation = 'neverReflectThis';
$parser = new DocParser();
$parser->setIgnoredAnnotationNames([
$annotation => TRUE,
]);
$parser->addNamespace('\\Arbitrary\\Namespace');
// Register our class loader which will fail if the parser tries to
// autoload disallowed annotations.
$autoloader = function ($class_name) use ($annotation) {
$name_array = explode('\\', $class_name);
$name = array_pop($name_array);
if ($name == $annotation) {
$this->fail('Attempted to autoload an ignored annotation: ' . $name);
}
};
spl_autoload_register($autoloader, TRUE, TRUE);
// Perform the parse.
$this->assertEmpty($parser->parse('@neverReflectThis'));
// Clean up after ourselves.
spl_autoload_unregister($autoloader);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
DocParserIgnoredClassesTest::testIgnoredAnnotationSkippedBeforeReflection | public | function | Ensure annotations can be ignored when namespaces are present. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.