summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2015-03-23 16:51:40 +0100
committerArthur Schiwon <blizzz@owncloud.com>2015-03-23 16:51:40 +0100
commit7520d0fb3d2ec6b64134f792be5a6657d764a8e6 (patch)
tree98d58afd51b5a4f669751f505eb1fa20e0baac76
parent0e4ba618cf9ae65da764f7b03c91a440fb655c1e (diff)
downloadnextcloud-server-7520d0fb3d2ec6b64134f792be5a6657d764a8e6.tar.gz
nextcloud-server-7520d0fb3d2ec6b64134f792be5a6657d764a8e6.zip
offset needs to be considered in computed limit
-rw-r--r--apps/user_ldap/group_ldap.php2
-rw-r--r--apps/user_ldap/tests/group_ldap.php14
2 files changed, 15 insertions, 1 deletions
diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php
index 40d702360fb..5dc4f836904 100644
--- a/apps/user_ldap/group_ldap.php
+++ b/apps/user_ldap/group_ldap.php
@@ -673,7 +673,7 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface {
}
$maxGroups = 100000; // limit max results (just for safety reasons)
if ($limit > -1) {
- $overallLimit = min($limit, $maxGroups);
+ $overallLimit = min($limit + $offset, $maxGroups);
} else {
$overallLimit = $maxGroups;
}
diff --git a/apps/user_ldap/tests/group_ldap.php b/apps/user_ldap/tests/group_ldap.php
index 44f0f82c2f7..f2b16ee2eab 100644
--- a/apps/user_ldap/tests/group_ldap.php
+++ b/apps/user_ldap/tests/group_ldap.php
@@ -298,4 +298,18 @@ class Test_Group_Ldap extends \Test\TestCase {
$groupBackend->inGroup($uid, $gid);
}
+ public function testGetGroupsWithOffset() {
+ $access = $this->getAccessMock();
+ $this->enableGroups($access);
+
+ $access->expects($this->once())
+ ->method('ownCloudGroupNames')
+ ->will($this->returnValue(array('group1', 'group2')));
+
+ $groupBackend = new GroupLDAP($access);
+ $groups = $groupBackend->getGroups('', 2, 2);
+
+ $this->assertSame(2, count($groups));
+ }
+
}