function DefaultPluginManagerTest::testProviderExists
@covers ::findDefinitions
      
    
@covers ::extractProviderFromDefinition
      
    
File
- 
              core/
tests/ Drupal/ Tests/ Core/ Plugin/ DefaultPluginManagerTest.php, line 383  
Class
- DefaultPluginManagerTest
 - Tests the DefaultPluginManager.
 
Namespace
Drupal\Tests\Core\PluginCode
public function testProviderExists() : void {
  $definitions = [];
  $definitions['array_based_found'] = [
    'provider' => 'module_found',
  ];
  $definitions['array_based_missing'] = [
    'provider' => 'module_missing',
  ];
  $definitions['stdClass_based_found'] = (object) [
    'provider' => 'module_found',
  ];
  $definitions['stdClass_based_missing'] = (object) [
    'provider' => 'module_missing',
  ];
  $definitions['classed_object_found'] = new ObjectDefinition([
    'provider' => 'module_found',
  ]);
  $definitions['classed_object_missing'] = new ObjectDefinition([
    'provider' => 'module_missing',
  ]);
  $expected = [];
  $expected['array_based_found'] = $definitions['array_based_found'];
  $expected['stdClass_based_found'] = $definitions['stdClass_based_found'];
  $expected['classed_object_found'] = $definitions['classed_object_found'];
  $module_handler = $this->prophesize(ModuleHandlerInterface::class);
  $module_handler->moduleExists('module_found')
    ->willReturn(TRUE)
    ->shouldBeCalled();
  $module_handler->moduleExists('module_missing')
    ->willReturn(FALSE)
    ->shouldBeCalled();
  $plugin_manager = new TestPluginManager($this->namespaces, $definitions, $module_handler->reveal());
  $result = $plugin_manager->getDefinitions();
  $this->assertEquals($expected, $result);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.