You are here

class SearchPluginCollectionTest in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/search/tests/src/Unit/SearchPluginCollectionTest.php \Drupal\Tests\search\Unit\SearchPluginCollectionTest

@coversDefaultClass \Drupal\search\Plugin\SearchPluginCollection @group search

Hierarchy

Expanded class hierarchy of SearchPluginCollectionTest

File

core/modules/search/tests/src/Unit/SearchPluginCollectionTest.php, line 17
Contains \Drupal\Tests\search\Unit\SearchPluginCollectionTest.

Namespace

Drupal\Tests\search\Unit
View source
class SearchPluginCollectionTest extends UnitTestCase {

  /**
   * The mocked plugin manager.
   *
   * @var \Drupal\Component\Plugin\PluginManagerInterface|\PHPUnit_Framework_MockObject_MockObject
   */
  protected $pluginManager;

  /**
   * The tested plugin collection.
   *
   * @var \Drupal\search\Plugin\SearchPluginCollection
   */
  protected $searchPluginCollection;

  /**
   * Stores all setup plugin instances.
   *
   * @var \Drupal\search\Plugin\SearchInterface[]
   */
  protected $pluginInstances;

  /**
   * {@inheritdoc}
   */
  protected function setUp() {
    $this->pluginManager = $this
      ->getMock('Drupal\\Component\\Plugin\\PluginManagerInterface');
    $this->searchPluginCollection = new SearchPluginCollection($this->pluginManager, 'banana', array(
      'id' => 'banana',
      'color' => 'yellow',
    ), 'fruit_stand');
  }

  /**
   * Tests the get() method.
   */
  public function testGet() {
    $plugin = $this
      ->getMock('Drupal\\search\\Plugin\\SearchInterface');
    $this->pluginManager
      ->expects($this
      ->once())
      ->method('createInstance')
      ->will($this
      ->returnValue($plugin));
    $this
      ->assertSame($plugin, $this->searchPluginCollection
      ->get('banana'));
  }

  /**
   * Tests the get() method with a configurable plugin.
   */
  public function testGetWithConfigurablePlugin() {
    $plugin = $this
      ->getMock('Drupal\\search\\Plugin\\ConfigurableSearchPluginInterface');
    $plugin
      ->expects($this
      ->once())
      ->method('setSearchPageId')
      ->with('fruit_stand')
      ->will($this
      ->returnValue($plugin));
    $this->pluginManager
      ->expects($this
      ->once())
      ->method('createInstance')
      ->will($this
      ->returnValue($plugin));
    $this
      ->assertSame($plugin, $this->searchPluginCollection
      ->get('banana'));
  }

}

Members

Namesort descending Modifiers Type Description Overrides
SearchPluginCollectionTest::$pluginInstances protected property Stores all setup plugin instances.
SearchPluginCollectionTest::$pluginManager protected property The mocked plugin manager.
SearchPluginCollectionTest::$searchPluginCollection protected property The tested plugin collection.
SearchPluginCollectionTest::setUp protected function Overrides UnitTestCase::setUp
SearchPluginCollectionTest::testGet public function Tests the get() method.
SearchPluginCollectionTest::testGetWithConfigurablePlugin public function Tests the get() method with a configurable plugin.
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root.
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName protected function Mocks a block with a block plugin.
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed in array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.