public function ComposerIntegrationTest::testAllModulesReplaced in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/tests/Drupal/Tests/ComposerIntegrationTest.php \Drupal\Tests\ComposerIntegrationTest::testAllModulesReplaced()
Tests core's composer.json replace section.
Verify that all core modules are also listed in the 'replace' section of core's composer.json.
File
- core/
tests/ Drupal/ Tests/ ComposerIntegrationTest.php, line 77 - Contains \Drupal\Tests\ComposerIntegrationTest.
Class
- ComposerIntegrationTest
- Tests Composer integration.
Namespace
Drupal\TestsCode
public function testAllModulesReplaced() {
// Assemble a path to core modules.
$module_path = $this->root . '/core/modules';
// Grab the 'replace' section of the core composer.json file.
$json = json_decode(file_get_contents($this->root . '/core/composer.json'));
$composer_replace_packages = (array) $json->replace;
// Get a list of all the files in the module path.
$folders = scandir($module_path);
// Make sure we only deal with directories that aren't . or ..
$module_names = [];
$discard = [
'.',
'..',
];
foreach ($folders as $file_name) {
if (!in_array($file_name, $discard) && is_dir($module_path . '/' . $file_name)) {
$module_names[] = $file_name;
}
}
// Assert that each core module has a corresponding 'replace' in
// composer.json.
foreach ($module_names as $module_name) {
$this
->assertArrayHasKey('drupal/' . $module_name, $composer_replace_packages, 'Unable to find ' . $module_name . ' in replace list of composer.json');
}
}