Namespace
Drupal\Tests\Component\Plugin\Attribute
File
core/tests/Drupal/Tests/Component/Plugin/Attribute/AttributeClassDiscoveryCachedTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\Component\Plugin\Attribute;
use Drupal\Component\Plugin\Discovery\AttributeClassDiscovery;
use Drupal\Component\FileCache\FileCacheFactory;
use PHPUnit\Framework\TestCase;
class AttributeClassDiscoveryCachedTest extends TestCase {
protected function setUp() : void {
parent::setUp();
FileCacheFactory::setConfiguration([]);
FileCacheFactory::setPrefix('prefix');
include_once __DIR__ . '/Fixtures/CustomPlugin.php';
include_once __DIR__ . '/Fixtures/Plugins/PluginNamespace/AttributeDiscoveryTest1.php';
}
public function testGetDefinitions() {
$discovery_path = __DIR__ . '/Fixtures/Plugins';
$file_path = $discovery_path . '/PluginNamespace/AttributeDiscoveryTest1.php';
$discovery = new AttributeClassDiscovery([
'com\\example' => [
$discovery_path,
],
]);
$this
->assertEquals([
'discovery_test_1' => [
'id' => 'discovery_test_1',
'class' => 'com\\example\\PluginNamespace\\AttributeDiscoveryTest1',
],
], $discovery
->getDefinitions());
$ref_file_cache = new \ReflectionProperty($discovery, 'fileCache');
$ref_file_cache
->setAccessible(TRUE);
$file_cache = $ref_file_cache
->getValue($discovery);
$file_cache
->set($file_path, [
'id' => 'wrong_id',
'content' => serialize([
'an' => 'array',
]),
]);
$this
->assertEquals([
'wrong_id' => [
'an' => 'array',
],
], $discovery
->getDefinitions());
}
}
Classes