You are here

public function DefaultPluginManagerTest::testFixContextAwareDefinitions in Drupal 8

@covers ::fixContextAwareDefinitions

@group legacy @expectedDeprecation Providing context definitions via the "context" key is deprecated in Drupal 8.7.x and will be removed before Drupal 9.0.0. Use the "context_definitions" key instead.

File

core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php, line 474

Class

DefaultPluginManagerTest
Tests the DefaultPluginManager.

Namespace

Drupal\Tests\Core\Plugin

Code

public function testFixContextAwareDefinitions() {
  $first_definition = new ContextDefinition('first');
  $second_definition = new ContextDefinition('bar');
  $definitions = $this->expectedDefinitions;
  $definitions['apple']['context'] = [
    'incorrect' => $first_definition,
  ];
  $definitions['apple']['context_definitions'] = [
    'correct' => $second_definition,
  ];
  $expected = $this->expectedDefinitions;
  $expected['apple']['context']['correct'] = $second_definition;
  $expected['apple']['context']['incorrect'] = $first_definition;
  $expected['apple']['context_definitions']['correct'] = $second_definition;
  $expected['apple']['context_definitions']['incorrect'] = $first_definition;
  $module_handler = $this
    ->prophesize(ModuleHandlerInterface::class);
  $plugin_manager = new TestPluginManager($this->namespaces, $definitions, $module_handler
    ->reveal(), NULL);
  $reflection = new \ReflectionMethod($plugin_manager, 'fixContextAwareDefinitions');
  $reflection
    ->setAccessible(TRUE);
  $reflection
    ->invokeArgs($plugin_manager, [
    &$definitions,
  ]);
  $this
    ->assertSame($expected, $definitions);
}