You are here

protected function KernelTestBase::disableModules in Zircon Profile 8

Same name in this branch
  1. 8 core/tests/Drupal/KernelTests/KernelTestBase.php \Drupal\KernelTests\KernelTestBase::disableModules()
  2. 8 core/modules/simpletest/src/KernelTestBase.php \Drupal\simpletest\KernelTestBase::disableModules()
Same name and namespace in other branches
  1. 8.0 core/modules/simpletest/src/KernelTestBase.php \Drupal\simpletest\KernelTestBase::disableModules()

Disables modules for this test.

Parameters

array $modules: A list of modules to disable. Dependencies are not resolved; i.e., multiple modules have to be specified with dependent modules first. Code of previously active modules is still loaded. The modules are only removed from the active module list.

4 calls to KernelTestBase::disableModules()
EntityDefaultLanguageTest::testEntityTranslationDefaultLanguageViaCode in core/modules/language/src/Tests/EntityDefaultLanguageTest.php
Tests that default language code is properly set for new nodes.
EntityDisplayTest::testComponentDependencies in core/modules/field_ui/src/Tests/EntityDisplayTest.php
Tests components dependencies additions.
EntityUnitTestBase::uninstallModule in core/modules/system/src/Tests/Entity/EntityUnitTestBase.php
Uninstalls a module and refreshes services.
KernelTestBaseTest::testEnableModulesTheme in core/modules/simpletest/src/Tests/KernelTestBaseTest.php
Tests that _theme() works right after loading a module.

File

core/modules/simpletest/src/KernelTestBase.php, line 539
Contains \Drupal\simpletest\KernelTestBase.

Class

KernelTestBase
Base class for integration tests.

Namespace

Drupal\simpletest

Code

protected function disableModules(array $modules) {

  // Unset the list of modules in the extension handler.
  $module_handler = $this->container
    ->get('module_handler');
  $module_filenames = $module_handler
    ->getModuleList();
  $extension_config = $this
    ->config('core.extension');
  foreach ($modules as $module) {
    unset($module_filenames[$module]);
    $extension_config
      ->clear('module.' . $module);
  }
  $extension_config
    ->save();
  $module_handler
    ->setModuleList($module_filenames);
  $module_handler
    ->resetImplementations();

  // Update the kernel to remove their services.
  $this->kernel
    ->updateModules($module_filenames, $module_filenames);

  // Ensure isLoaded() is TRUE in order to make _theme() work.
  // Note that the kernel has rebuilt the container; this $module_handler is
  // no longer the $module_handler instance from above.
  $module_handler = $this->container
    ->get('module_handler');
  $module_handler
    ->reload();
  $this
    ->pass(format_string('Disabled modules: %modules.', array(
    '%modules' => implode(', ', $modules),
  )));
}