function ModuleHandlerTest::testModuleReloading

Same name in other branches
  1. 9 core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php \Drupal\Tests\Core\Extension\ModuleHandlerTest::testModuleReloading()
  2. 8.9.x core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php \Drupal\Tests\Core\Extension\ModuleHandlerTest::testModuleReloading()
  3. 10 core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php \Drupal\Tests\Core\Extension\ModuleHandlerTest::testModuleReloading()

Tests reload method.

@covers ::reload

File

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

Class

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

Namespace

Drupal\Tests\Core\Extension

Code

public function testModuleReloading() : void {
    $module_handler = $this->getMockBuilder(ModuleHandler::class)
        ->setConstructorArgs([
        $this->root,
        [
            'module_handler_test' => [
                'type' => 'module',
                'pathname' => 'core/tests/Drupal/Tests/Core/Extension/modules/module_handler_test/module_handler_test.info.yml',
                'filename' => 'module_handler_test.module',
            ],
        ],
        $this->eventDispatcher,
        [],
    ])
        ->onlyMethods([
        'load',
    ])
        ->getMock();
    $calls = [
        // First reload.
'module_handler_test',
        // Second reload.
'module_handler_test',
        'module_handler_test_added',
    ];
    $module_handler->expects($this->exactly(count($calls)))
        ->method('load')
        ->with($this->callback(function (string $module) use (&$calls) : bool {
        return $module === array_shift($calls);
    }));
    $module_handler->reload();
    $module_handler->addModule('module_handler_test_added', 'core/tests/Drupal/Tests/Core/Extension/modules/module_handler_test_added');
    $module_handler->reload();
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.