You are here

public function PluginDependencyTraitTest::testCalculatePluginDependencies in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Plugin/PluginDependencyTraitTest.php \Drupal\Tests\Core\Plugin\PluginDependencyTraitTest::testCalculatePluginDependencies()

@covers ::calculatePluginDependencies

@dataProvider providerTestPluginDependencies

Parameters

\Prophecy\Prophecy\ProphecyInterface $plugin: A prophecy of a plugin instance.

mixed $definition: A plugin definition.

array $expected: The expected dependencies.

File

core/tests/Drupal/Tests/Core/Plugin/PluginDependencyTraitTest.php, line 58

Class

PluginDependencyTraitTest
@coversDefaultClass \Drupal\Core\Plugin\PluginDependencyTrait @group Plugin

Namespace

Drupal\Tests\Core\Plugin

Code

public function testCalculatePluginDependencies(ProphecyInterface $plugin, $definition, array $expected) {
  $test_class = new TestPluginDependency();
  $module_handler = $this
    ->prophesize(ModuleHandlerInterface::class);
  $module_handler
    ->moduleExists('test_module1')
    ->willReturn(TRUE);
  $module_handler
    ->moduleExists('test_theme1')
    ->willReturn(FALSE);
  $test_class
    ->setModuleHandler($module_handler
    ->reveal());
  $theme_handler = $this
    ->prophesize(ThemeHandlerInterface::class);
  $theme_handler
    ->themeExists('test_module1')
    ->willReturn(FALSE);
  $theme_handler
    ->themeExists('test_theme1')
    ->willReturn(TRUE);
  $test_class
    ->setThemeHandler($theme_handler
    ->reveal());
  $plugin
    ->getPluginDefinition()
    ->willReturn($definition);
  $test_class
    ->calculatePluginDependencies($plugin
    ->reveal());
  $this
    ->assertEquals($expected, $test_class
    ->getDependencies());
}