plugin-8.x-2.8/tests/src/Kernel/PluginType/PluginTypeManagerTest.php

tests/src/Kernel/PluginType/PluginTypeManagerTest.php
<?php

namespace Drupal\Tests\plugin\Kernel\PluginType;

use Drupal\KernelTests\KernelTestBase;
use Drupal\plugin\PluginType\PluginTypeInterface;

/**
 * @coversDefaultClass \Drupal\plugin\PluginType\PluginTypeManager
 *
 * @group Plugin
 */
class PluginTypeManagerTest extends KernelTestBase {

  /**
   * {@inheritdoc}
   */
  protected static $modules = ['system', 'plugin'];

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    // Get any directory within Drupal core.
    $class_reflector = new \ReflectionClass(KernelTestBase::class);
    $directory = $class_reflector->getFileName();

    // Find Drupal core's module directory.
    while ($directory = dirname($directory)) {
      $core_module_directory = $directory . '/core/modules';
      if (file_exists($core_module_directory)) {
        break;
      }
    }

    // Find the names of Drupal core modules.
    $module_directories = array_keys(iterator_to_array(new \FilesystemIterator($core_module_directory)));
    $module_names = array_map(function($module_directory) {
      return basename($module_directory);
    }, $module_directories);

    // Set all Drupal core modules to be enabled for this test.
    static::$modules = array_merge(static::$modules, $module_names);

    parent::setUp();
  }

  /**
   * @covers ::getPluginTypes
   */
  public function testGetPluginTypes() {
    /** @var \Drupal\plugin\PluginType\PluginTypeManager $plugin_type_manager */
    $plugin_type_manager = $this->container->get('plugin.plugin_type_manager');
    $plugin_types = $plugin_type_manager->getPluginTypes();
    $this->assertNotEmpty($plugin_types);
    foreach ($plugin_types as $plugin_type) {
      $this->assertInstanceOf(PluginTypeInterface::class, $plugin_type);
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc