]> source.dussan.org Git - nextcloud-server.git/commitdiff
offset needs to be considered in computed limit
authorArthur Schiwon <blizzz@owncloud.com>
Mon, 23 Mar 2015 15:51:40 +0000 (16:51 +0100)
committerArthur Schiwon <blizzz@owncloud.com>
Mon, 23 Mar 2015 15:51:40 +0000 (16:51 +0100)
apps/user_ldap/group_ldap.php
apps/user_ldap/tests/group_ldap.php

index 40d702360fbeae9665c277b50f981a1b1ccca16e..5dc4f8369044b115c1115d63db46d25ecf552d76 100644 (file)
@@ -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;
                }
index 44f0f82c2f7b1189c15d740d691b48d0ceb56a32..f2b16ee2eabbbacf110e2eece3ae0066f3feefca 100644 (file)
@@ -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));
+       }
+
 }