[BaseCollection] Fix incorrectly working limit() method

This commit is contained in:
Meritoo
2021-04-11 21:45:29 +02:00
parent 0d3265d7b6
commit 1eb86cf102
4 changed files with 12 additions and 17 deletions

View File

@@ -2,6 +2,10 @@
Common and useful classes, methods, exceptions etc.
# 1.1.4
1. [BaseCollection] Fix incorrectly working limit() method
# 1.1.3
1. Move `Renderable` class: `Meritoo\Common` -> `Meritoo\Common\Contract`

View File

@@ -1 +1 @@
1.1.3
1.1.4

View File

@@ -248,7 +248,7 @@ abstract class BaseCollection implements CollectionInterface
foreach ($result as $index => $element) {
$iteration++;
if ($iteration < $offset || ($iteration >= $offset && $iteration < $max)) {
if ($iteration >= $offset && $iteration < $offset + $max) {
continue;
}

View File

@@ -724,33 +724,24 @@ class BaseCollectionTest extends BaseTestCase
2,
];
yield 'Maximum set to 1 & offset smaller than size of collection' => [
yield 'Maximum set to 1 & offset set to 2' => [
[
'lorem',
'ipsum',
123 => 'dolor',
],
1,
2,
];
yield 'Maximum set to 1 & offset equal size of collection' => [
yield 'Maximum set to 1 & offset set to 3' => [
[
'lorem',
'ipsum',
123 => 'dolor',
345 => 'sit',
],
1,
4,
3,
];
yield 'Maximum set to 1 & offset greater than size of collection' => [
[
'lorem',
'ipsum',
123 => 'dolor',
345 => 'sit',
],
yield 'Maximum set to 1 & offset set to 10' => [
[],
1,
10,
];