function CompatibilityFixTest::testFixCompatibility in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/system/src/Tests/Update/CompatibilityFixTest.php \Drupal\system\Tests\Update\CompatibilityFixTest::testFixCompatibility()
File
- core/
modules/ system/ src/ Tests/ Update/ CompatibilityFixTest.php, line 24 - Contains \Drupal\system\Tests\Update\CompatibilityFixTest.
Class
- CompatibilityFixTest
- Tests that extensions that are incompatible with the current core version are disabled.
Namespace
Drupal\system\Tests\UpdateCode
function testFixCompatibility() {
$extension_config = \Drupal::configFactory()
->getEditable('core.extension');
// Add an incompatible/non-existent module to the config.
$modules = $extension_config
->get('module');
$modules['incompatible_module'] = 0;
$extension_config
->set('module', $modules);
$modules = $extension_config
->get('module');
$this
->assertTrue(in_array('incompatible_module', array_keys($modules)), 'Added incompatible/non-existent module to the config.');
// Add an incompatible/non-existent theme to the config.
$themes = $extension_config
->get('theme');
$themes['incompatible_theme'] = 0;
$extension_config
->set('theme', $themes);
$themes = $extension_config
->get('theme');
$this
->assertTrue(in_array('incompatible_theme', array_keys($themes)), 'Added incompatible/non-existent theme to the config.');
// Fix compatibility.
update_fix_compatibility();
$modules = $extension_config
->get('module');
$this
->assertFalse(in_array('incompatible_module', array_keys($modules)), 'Fixed modules compatibility.');
$themes = $extension_config
->get('theme');
$this
->assertFalse(in_array('incompatible_theme', array_keys($themes)), 'Fixed themes compatibility.');
}