function 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 84
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');
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.