diff --git a/core/modules/user/src/PermissionHandler.php b/core/modules/user/src/PermissionHandler.php index 715b739..a574cc3 100644 --- a/core/modules/user/src/PermissionHandler.php +++ b/core/modules/user/src/PermissionHandler.php @@ -132,7 +132,12 @@ protected function buildPermissionsYaml($module_name = NULL) { if ($module_name) { // Just discover the single module. - $discovery = new YamlDiscovery('permissions', [$module_name => $this->moduleHandler->getModuleDirectories()[$module_name]]); + $directories = $this->moduleHandler->getModuleDirectories(); + $module_directories = []; + if (!empty($directories[$module_name])) { + $module_directories = [$module_name => $directories[$module_name]]; + } + $discovery = new YamlDiscovery('permissions', $module_directories); } else { // Use the default discovery - which handles all enabled modules. diff --git a/core/modules/user/tests/src/Unit/PermissionHandlerTest.php b/core/modules/user/tests/src/Unit/PermissionHandlerTest.php index 1180846..cd7fbcc 100644 --- a/core/modules/user/tests/src/Unit/PermissionHandlerTest.php +++ b/core/modules/user/tests/src/Unit/PermissionHandlerTest.php @@ -92,7 +92,7 @@ public function testBuildPermissionsYaml() { vfsStreamWrapper::setRoot($root); $this->moduleHandler = $this->getMock('Drupal\Core\Extension\ModuleHandlerInterface'); - $this->moduleHandler->expects($this->once()) + $this->moduleHandler->expects($this->any()) ->method('getModuleDirectories') ->willReturn(array( 'module_a' => vfsStream::url('modules/module_a'),