diff --git a/lib/private/group.php b/lib/private/group.php index 9144ef683b..444788c97f 100644 --- a/lib/private/group.php +++ b/lib/private/group.php @@ -268,7 +268,7 @@ class OC_Group { $users = $group->searchDisplayName($search, $limit, $offset); $displayNames = array(); foreach ($users as $user) { - $displayNames[] = $user->getDisplayName(); + $displayNames[$user->getUID()] = $user->getDisplayName(); } return $displayNames; } else { diff --git a/tests/lib/group.php b/tests/lib/group.php index d2c9ce4614..8de8d033e1 100644 --- a/tests/lib/group.php +++ b/tests/lib/group.php @@ -109,6 +109,24 @@ class Test_Group extends PHPUnit_Framework_TestCase { $this->assertEquals(array(), OC_Group::getGroups()); } + public function testDisplayNamesInGroup() { + OC_Group::useBackend(new OC_Group_Dummy()); + $userBackend = new \OC_User_Dummy(); + \OC_User::getManager()->registerBackend($userBackend); + + $group1 = uniqid(); + $user1 = 'uid1'; + $user2 = 'uid2'; + OC_Group::createGroup($group1); + $userBackend->createUser($user1, ''); + $userBackend->createUser($user2, ''); + OC_Group::addToGroup($user1, $group1); + OC_Group::addToGroup($user2, $group1); + //Dummy backend does not support setting displaynames, uid will always + //be returned. This checks primarily, that the return format is okay. + $expected = array($user1 => $user1, $user2 => $user2); + $this->assertEquals($expected, OC_Group::displayNamesInGroup($group1)); + } public function testUsersInGroup() { OC_Group::useBackend(new OC_Group_Dummy());