From 0bfe3da6643f6add02af0e1c355e2aeae9cece42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Sat, 26 May 2018 12:01:13 +0200 Subject: [PATCH 1/2] Ignore case when sorting users MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- lib/private/User/Manager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php index 6784359538..494a345be5 100644 --- a/lib/private/User/Manager.php +++ b/lib/private/User/Manager.php @@ -239,7 +239,7 @@ class Manager extends PublicEmitter implements IUserManager { * @var \OC\User\User $a * @var \OC\User\User $b */ - return strcmp($a->getUID(), $b->getUID()); + return strcasecmp($a->getUID(), $b->getUID()); }); return $users; } @@ -268,7 +268,7 @@ class Manager extends PublicEmitter implements IUserManager { * @var \OC\User\User $a * @var \OC\User\User $b */ - return strcmp(strtolower($a->getDisplayName()), strtolower($b->getDisplayName())); + return strcasecmp($a->getDisplayName(), $b->getDisplayName()); }); return $users; } From ad6e548411f3fac33deee0efc0035838b783edb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Sat, 26 May 2018 12:07:49 +0200 Subject: [PATCH 2/2] Added case example to tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- tests/lib/User/ManagerTest.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/lib/User/ManagerTest.php b/tests/lib/User/ManagerTest.php index 2ecae3a850..d2e48ffa53 100644 --- a/tests/lib/User/ManagerTest.php +++ b/tests/lib/User/ManagerTest.php @@ -236,7 +236,7 @@ class ManagerTest extends TestCase { $backend->expects($this->once()) ->method('getUsers') ->with($this->equalTo('fo')) - ->will($this->returnValue(array('foo', 'afoo'))); + ->will($this->returnValue(array('foo', 'afoo', 'Afoo1', 'Bfoo'))); $backend->expects($this->never()) ->method('loginName2UserName'); @@ -244,8 +244,10 @@ class ManagerTest extends TestCase { $manager->registerBackend($backend); $result = $manager->search('fo'); - $this->assertEquals(2, count($result)); + $this->assertEquals(4, count($result)); $this->assertEquals('afoo', array_shift($result)->getUID()); + $this->assertEquals('Afoo1', array_shift($result)->getUID()); + $this->assertEquals('Bfoo', array_shift($result)->getUID()); $this->assertEquals('foo', array_shift($result)->getUID()); }