mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-16 14:33:14 +00:00
Fix #1205 Fix calculation of current page
This commit is contained in:
@@ -94,7 +94,7 @@ class SearchEngineResult
|
|||||||
*/
|
*/
|
||||||
public function getCurrentPage($amountPerPage)
|
public function getCurrentPage($amountPerPage)
|
||||||
{
|
{
|
||||||
return ceil($this->offsetStart / $amountPerPage);
|
return max(1, ceil(($this->offsetStart + 1) / $amountPerPage));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -19,7 +19,7 @@ class SearchEngineResultTest extends \PhraseanetPHPUnitAbstract
|
|||||||
|
|
||||||
$query = 'Gotainer';
|
$query = 'Gotainer';
|
||||||
$duration = 1 / 3;
|
$duration = 1 / 3;
|
||||||
$offsetStart = 24;
|
$offsetStart = 23;
|
||||||
$available = 25;
|
$available = 25;
|
||||||
$total = 10000;
|
$total = 10000;
|
||||||
$error = 'this is an error message';
|
$error = 'this is an error message';
|
||||||
@@ -49,4 +49,32 @@ class SearchEngineResultTest extends \PhraseanetPHPUnitAbstract
|
|||||||
$this->assertEquals($available, $result->getAvailable());
|
$this->assertEquals($available, $result->getAvailable());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testWithOffsetStartAtZero()
|
||||||
|
{
|
||||||
|
$results = new ArrayCollection(array(
|
||||||
|
self::$DI['record_24']
|
||||||
|
));
|
||||||
|
|
||||||
|
$query = 'Gotainer';
|
||||||
|
$duration = 1 / 3;
|
||||||
|
$offsetStart = 0;
|
||||||
|
$available = 25;
|
||||||
|
$total = 10000;
|
||||||
|
$error = 'this is an error message';
|
||||||
|
$warning = 'this is a warning message';
|
||||||
|
$suggestions = new ArrayCollection(array(
|
||||||
|
new SearchEngineSuggestion($query, 'Richard', 22)
|
||||||
|
));
|
||||||
|
$propositions = new ArrayCollection();
|
||||||
|
$indexes = 'new-index';
|
||||||
|
|
||||||
|
$result = new SearchEngineResult($results, $query, $duration,
|
||||||
|
$offsetStart, $available, $total, $error, $warning,
|
||||||
|
$suggestions, $propositions, $indexes);
|
||||||
|
|
||||||
|
$this->assertEquals(1, $result->getCurrentPage(10));
|
||||||
|
$this->assertEquals(1, $result->getCurrentPage(25));
|
||||||
|
$this->assertEquals(1, $result->getCurrentPage(40));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user