diff --git a/core/modules/system/system.install b/core/modules/system/system.install index 88d30e5387..f07133bcd4 100644 --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -953,7 +953,7 @@ function system_requirements($phase) { // Check for an incompatible version. $required_file = $files[$required_module]; $required_name = $required_file->info['name']; - $version = str_replace(\Drupal::CORE_COMPATIBILITY . '-', '', $required_file->info['version']); + $version = str_replace(\Drupal::CORE_COMPATIBILITY . '-', '', $required_file->info['version'] ?? ''); if (!$requirement->isCompatible($version)) { $requirements["$extension_name-$required_module"] = [ 'title' => t('Unresolved dependency'), diff --git a/core/modules/system/tests/src/Functional/Module/DependencyTest.php b/core/modules/system/tests/src/Functional/Module/DependencyTest.php index 63a4bf99ea..54e4e0d82d 100644 --- a/core/modules/system/tests/src/Functional/Module/DependencyTest.php +++ b/core/modules/system/tests/src/Functional/Module/DependencyTest.php @@ -125,6 +125,18 @@ public function testNoVersionInfo() { $this->drupalGet('admin/modules'); $this->assertSession()->pageTextContains('System no module version dependency test'); $this->assertSession()->pageTextContains('System no module version test'); + + // Ensure the modules can actually be installed. + $edit['modules[system_no_module_version_test][enable]'] = 'system_no_module_version_test'; + $edit['modules[system_no_module_version_dependency_test][enable]'] = 'system_no_module_version_dependency_test'; + $this->drupalGet('admin/modules'); + $this->submitForm($edit, 'Install'); + $this->assertSession()->pageTextContains('2 modules have been enabled: System no module version dependency test, System no module version test.'); + + // Ensure status report is working. + $this->drupalLogin($this->createUser(['administer site configuration'])); + $this->drupalGet('admin/reports/status'); + $this->assertSession()->statusCodeEquals(200); } /**