tamper-8.x-1.x-dev/tests/src/Kernel/TamperManagerTest.php

tests/src/Kernel/TamperManagerTest.php
<?php

namespace Drupal\Tests\tamper\Kernel;

use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\KernelTests\KernelTestBase;
use Drupal\tamper\TamperManager;
use Drupal\tamper_test\Plugin\Tamper\AttributeTamperPlugin;

/**
 * Tests config schema of each tamper plugin.
 *
 * @group tamper
 */
class TamperManagerTest extends KernelTestBase {

  /**
   * Modules to enable.
   *
   * @var array
   */
  protected static $modules = ['tamper', 'tamper_test'];

  /**
   * The Tamper plugin manager.
   */
  protected TamperManager $pluginManager;

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();

    // Get a plugin manager for testing.
    $this->pluginManager = $this->container->get('plugin.manager.tamper');
  }

  /**
   * Tests if Tamper plugins defined with attributes can be found.
   */
  public function testFindAttributedPlugins() {
    if (!class_exists('\Drupal\Component\Plugin\Attribute\Plugin')) {
      // No need to execute test.
      $this->markTestSkipped('Attribute-plugins are not supported in Drupal 9.');
    }
    $definitions = $this->pluginManager->getDefinitions();

    $expected = [
      'id' => 'attribute_tamper',
      'label' => new TranslatableMarkup('Attribute Tamper plugin'),
      'description' => new TranslatableMarkup('Used for testing if this plugin is found by \\Drupal\\tamper\\TamperManager.'),
      'category' => new TranslatableMarkup('Other'),
      'handle_multiples' => TRUE,
      'itemUsage' => 'ignored',
      'provider' => 'tamper_test',
      'class' => AttributeTamperPlugin::class,
    ];
    $this->assertEquals($expected, $definitions['attribute_tamper']);
  }

}

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

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