You are here

public function ModuleHandlerTest::testGetHookInfo in Drupal 8

Test hook_hook_info() fetching through getHookInfo().

@covers ::getHookInfo @covers ::buildHookInfo

File

core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php, line 443

Class

ModuleHandlerTest
@coversDefaultClass \Drupal\Core\Extension\ModuleHandler @runTestsInSeparateProcesses

Namespace

Drupal\Tests\Core\Extension

Code

public function testGetHookInfo() {
  $module_handler = $this
    ->getModuleHandler();

  // Set up some synthetic results.
  $this->cacheBackend
    ->expects($this
    ->exactly(2))
    ->method('get')
    ->will($this
    ->onConsecutiveCalls(NULL, (object) [
    'data' => [
      'hook_foo' => [
        'group' => 'hook',
      ],
    ],
  ]));

  // Results from building from mocked environment.
  $this
    ->assertEquals([
    'hook' => [
      'group' => 'hook',
    ],
  ], $module_handler
    ->getHookInfo());

  // Reset local cache so we get our synthetic result from the cache handler.
  $module_handler
    ->resetImplementations();
  $this
    ->assertEquals([
    'hook_foo' => [
      'group' => 'hook',
    ],
  ], $module_handler
    ->getHookInfo());
}