|
|
@@ -21,6 +21,11 @@
|
|
|
*/
|
|
|
|
|
|
/**
|
|
|
+ * Test helper
|
|
|
+ */
|
|
|
+require_once dirname(dirname(dirname(dirname(__FILE__)))) . DIRECTORY_SEPARATOR . 'TestHelper.php';
|
|
|
+
|
|
|
+/**
|
|
|
* @see Zend_Paginator_ScrollingStyle_Elastic
|
|
|
*/
|
|
|
require_once 'Zend/Paginator/ScrollingStyle/Elastic.php';
|
|
|
@@ -53,7 +58,7 @@ class Zend_Paginator_ScrollingStyle_ElasticTest extends PHPUnit_Framework_TestCa
|
|
|
* @var Zend_Paginator
|
|
|
*/
|
|
|
private $_paginator;
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* Prepares the environment before running a test.
|
|
|
*/
|
|
|
@@ -74,7 +79,7 @@ class Zend_Paginator_ScrollingStyle_ElasticTest extends PHPUnit_Framework_TestCa
|
|
|
$this->_paginator = null;
|
|
|
parent::tearDown();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function testGetsPagesInRangeForFirstPage()
|
|
|
{
|
|
|
$this->_paginator->setCurrentPageNumber(1);
|
|
|
@@ -82,7 +87,7 @@ class Zend_Paginator_ScrollingStyle_ElasticTest extends PHPUnit_Framework_TestCa
|
|
|
$expected = array_combine(range(1, 5), range(1, 5));
|
|
|
$this->assertEquals($expected, $actual);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function testGetsPagesInRangeForSecondPage()
|
|
|
{
|
|
|
$this->_paginator->setCurrentPageNumber(2);
|
|
|
@@ -90,7 +95,7 @@ class Zend_Paginator_ScrollingStyle_ElasticTest extends PHPUnit_Framework_TestCa
|
|
|
$expected = array_combine(range(1, 6), range(1, 6));
|
|
|
$this->assertEquals($expected, $actual);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function testGetsPagesInRangeForTenthPage()
|
|
|
{
|
|
|
$this->_paginator->setCurrentPageNumber(10);
|
|
|
@@ -98,23 +103,23 @@ class Zend_Paginator_ScrollingStyle_ElasticTest extends PHPUnit_Framework_TestCa
|
|
|
$expected = array_combine(range(6, 14), range(6, 14));
|
|
|
$this->assertEquals($expected, $actual);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function testGetsPagesInRangeForLastPage()
|
|
|
{
|
|
|
$this->_paginator->setCurrentPageNumber(21);
|
|
|
$actual = $this->_scrollingStyle->getPages($this->_paginator);
|
|
|
- $expected = array_combine(range(13, 21), range(13, 21));
|
|
|
+ $expected = array_combine(range(17, 21), range(17, 21));
|
|
|
$this->assertEquals($expected, $actual);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function testGetsNextAndPreviousPageForFirstPage()
|
|
|
{
|
|
|
$this->_paginator->setCurrentPageNumber(1);
|
|
|
$pages = $this->_paginator->getPages('Elastic');
|
|
|
-
|
|
|
+
|
|
|
$this->assertEquals(2, $pages->next);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function testGetsNextAndPreviousPageForSecondPage()
|
|
|
{
|
|
|
$this->_paginator->setCurrentPageNumber(2);
|
|
|
@@ -122,7 +127,7 @@ class Zend_Paginator_ScrollingStyle_ElasticTest extends PHPUnit_Framework_TestCa
|
|
|
$this->assertEquals(1, $pages->previous);
|
|
|
$this->assertEquals(3, $pages->next);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function testGetsNextAndPreviousPageForMiddlePage()
|
|
|
{
|
|
|
$this->_paginator->setCurrentPageNumber(10);
|
|
|
@@ -130,7 +135,7 @@ class Zend_Paginator_ScrollingStyle_ElasticTest extends PHPUnit_Framework_TestCa
|
|
|
$this->assertEquals(9, $pages->previous);
|
|
|
$this->assertEquals(11, $pages->next);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function testGetsNextAndPreviousPageForSecondLastPage()
|
|
|
{
|
|
|
$this->_paginator->setCurrentPageNumber(20);
|
|
|
@@ -138,11 +143,35 @@ class Zend_Paginator_ScrollingStyle_ElasticTest extends PHPUnit_Framework_TestCa
|
|
|
$this->assertEquals(19, $pages->previous);
|
|
|
$this->assertEquals(21, $pages->next);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public function testGetsNextAndPreviousPageForLastPage()
|
|
|
{
|
|
|
$this->_paginator->setCurrentPageNumber(21);
|
|
|
$pages = $this->_paginator->getPages('Elastic');
|
|
|
$this->assertEquals(20, $pages->previous);
|
|
|
}
|
|
|
+
|
|
|
+ public function testNoPagesOnLastPageEqualsPageRange()
|
|
|
+ {
|
|
|
+ $this->_paginator->setPageRange(3);
|
|
|
+ $this->_paginator->setCurrentPageNumber(21);
|
|
|
+ $pages = $this->_paginator->getPages('Elastic');
|
|
|
+ $this->assertEquals(3, count($pages->pagesInRange));
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testNoPagesOnSecondLastPageEqualsPageRangeMinOne()
|
|
|
+ {
|
|
|
+ $this->_paginator->setPageRange(3);
|
|
|
+ $this->_paginator->setCurrentPageNumber(20);
|
|
|
+ $pages = $this->_paginator->getPages('Elastic');
|
|
|
+ $this->assertEquals(4, count($pages->pagesInRange));
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testNoPagesBeforeSecondLastPageEqualsPageRangeMinTwo()
|
|
|
+ {
|
|
|
+ $this->_paginator->setPageRange(3);
|
|
|
+ $this->_paginator->setCurrentPageNumber(19);
|
|
|
+ $pages = $this->_paginator->getPages('Elastic');
|
|
|
+ $this->assertEquals(5, count($pages->pagesInRange));
|
|
|
+ }
|
|
|
}
|