CompatibilityFixTest.php in Drupal 8
File
core/tests/Drupal/KernelTests/Core/Update/CompatibilityFixTest.php
View source
<?php
namespace Drupal\KernelTests\Core\Update;
use Drupal\KernelTests\KernelTestBase;
class CompatibilityFixTest extends KernelTestBase {
public static $modules = [
'system',
];
protected function setUp() {
parent::setUp();
require_once $this->root . '/core/includes/update.inc';
}
public function testFixCompatibility() {
$extension_config = \Drupal::configFactory()
->getEditable('core.extension');
$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.');
$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.');
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.');
}
}
Classes
Name |
Description |
CompatibilityFixTest |
Tests that extensions that are incompatible with the current core version are disabled. |