You are here

PluginBaseTest.php in Drupal 8

File

core/tests/Drupal/Tests/Component/Plugin/PluginBaseTest.php
View source
<?php

namespace Drupal\Tests\Component\Plugin;

use PHPUnit\Framework\TestCase;

/**
 * @coversDefaultClass \Drupal\Component\Plugin\PluginBase
 * @group Plugin
 */
class PluginBaseTest extends TestCase {

  /**
   * @dataProvider providerTestGetPluginId
   * @covers ::getPluginId
   */
  public function testGetPluginId($plugin_id, $expected) {
    $plugin_base = $this
      ->getMockForAbstractClass('Drupal\\Component\\Plugin\\PluginBase', [
      [],
      $plugin_id,
      [],
    ]);
    $this
      ->assertEquals($expected, $plugin_base
      ->getPluginId());
  }

  /**
   * Returns test data for testGetPluginId().
   *
   * @return array
   */
  public function providerTestGetPluginId() {
    return [
      [
        'base_id',
        'base_id',
      ],
      [
        'base_id:derivative',
        'base_id:derivative',
      ],
    ];
  }

  /**
   * @dataProvider providerTestGetBaseId
   * @coves ::getBaseId
   */
  public function testGetBaseId($plugin_id, $expected) {

    /** @var \Drupal\Component\Plugin\PluginBase|\PHPUnit\Framework\MockObject\MockObject $plugin_base */
    $plugin_base = $this
      ->getMockForAbstractClass('Drupal\\Component\\Plugin\\PluginBase', [
      [],
      $plugin_id,
      [],
    ]);
    $this
      ->assertEquals($expected, $plugin_base
      ->getBaseId());
  }

  /**
   * Returns test data for testGetBaseId().
   *
   * @return array
   */
  public function providerTestGetBaseId() {
    return [
      [
        'base_id',
        'base_id',
      ],
      [
        'base_id:derivative',
        'base_id',
      ],
    ];
  }

  /**
   * @dataProvider providerTestGetDerivativeId
   * @covers ::getDerivativeId
   */
  public function testGetDerivativeId($plugin_id = NULL, $expected = NULL) {

    /** @var \Drupal\Component\Plugin\PluginBase|\PHPUnit\Framework\MockObject\MockObject $plugin_base */
    $plugin_base = $this
      ->getMockForAbstractClass('Drupal\\Component\\Plugin\\PluginBase', [
      [],
      $plugin_id,
      [],
    ]);
    $this
      ->assertEquals($expected, $plugin_base
      ->getDerivativeId());
  }

  /**
   * Returns test data for testGetDerivativeId().
   *
   * @return array
   */
  public function providerTestGetDerivativeId() {
    return [
      [
        'base_id',
        NULL,
      ],
      [
        'base_id:derivative',
        'derivative',
      ],
    ];
  }

  /**
   * @covers ::getPluginDefinition
   */
  public function testGetPluginDefinition() {
    $plugin_base = $this
      ->getMockForAbstractClass('Drupal\\Component\\Plugin\\PluginBase', [
      [],
      'plugin_id',
      [
        'value',
        [
          'key' => 'value',
        ],
      ],
    ]);
    $this
      ->assertEquals([
      'value',
      [
        'key' => 'value',
      ],
    ], $plugin_base
      ->getPluginDefinition());
  }

}

Classes

Namesort descending Description
PluginBaseTest @coversDefaultClass \Drupal\Component\Plugin\PluginBase @group Plugin