|
|
@@ -661,11 +661,12 @@ class PaginatorHelperTest extends CakeTestCase {
|
|
|
|
|
|
$this->Paginator->request->params['pass'] = array(2);
|
|
|
$this->Paginator->request->params['named'] = array('foo' => 'bar');
|
|
|
+ $this->Paginator->request->query = array('x' => 'y');
|
|
|
$this->Paginator->beforeRender('posts/index');
|
|
|
|
|
|
$result = $this->Paginator->sort('title');
|
|
|
$expected = array(
|
|
|
- 'a' => array('href' => '/articles/index/2/page:1/foo:bar/sort:title/direction:asc'),
|
|
|
+ 'a' => array('href' => '/articles/index/2/page:1/foo:bar/sort:title/direction:asc?x=y'),
|
|
|
'Title',
|
|
|
'/a'
|
|
|
);
|
|
|
@@ -675,24 +676,91 @@ class PaginatorHelperTest extends CakeTestCase {
|
|
|
$expected = array(
|
|
|
array('span' => array('class' => 'current')), '1', '/span',
|
|
|
' | ',
|
|
|
- array('span' => array()), array('a' => array('href' => '/articles/index/2/page:2/foo:bar')), '2', '/a', '/span',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/page:2/foo:bar?x=y')), '2', '/a', '/span',
|
|
|
' | ',
|
|
|
- array('span' => array()), array('a' => array('href' => '/articles/index/2/page:3/foo:bar')), '3', '/a', '/span',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/page:3/foo:bar?x=y')), '3', '/a', '/span',
|
|
|
' | ',
|
|
|
- array('span' => array()), array('a' => array('href' => '/articles/index/2/page:4/foo:bar')), '4', '/a', '/span',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/page:4/foo:bar?x=y')), '4', '/a', '/span',
|
|
|
' | ',
|
|
|
- array('span' => array()), array('a' => array('href' => '/articles/index/2/page:5/foo:bar')), '5', '/a', '/span',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/page:5/foo:bar?x=y')), '5', '/a', '/span',
|
|
|
' | ',
|
|
|
- array('span' => array()), array('a' => array('href' => '/articles/index/2/page:6/foo:bar')), '6', '/a', '/span',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/page:6/foo:bar?x=y')), '6', '/a', '/span',
|
|
|
' | ',
|
|
|
- array('span' => array()), array('a' => array('href' => '/articles/index/2/page:7/foo:bar')), '7', '/a', '/span',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/page:7/foo:bar?x=y')), '7', '/a', '/span',
|
|
|
);
|
|
|
$this->assertTags($result, $expected);
|
|
|
|
|
|
$result = $this->Paginator->next('Next');
|
|
|
$expected = array(
|
|
|
'span' => array('class' => 'next'),
|
|
|
- 'a' => array('href' => '/articles/index/2/page:2/foo:bar', 'rel' => 'next'),
|
|
|
+ 'a' => array('href' => '/articles/index/2/page:2/foo:bar?x=y', 'rel' => 'next'),
|
|
|
+ 'Next',
|
|
|
+ '/a',
|
|
|
+ '/span'
|
|
|
+ );
|
|
|
+ $this->assertTags($result, $expected);
|
|
|
+ }
|
|
|
+
|
|
|
+/**
|
|
|
+ * testPassedArgsMergingWithUrlOptionsParamTypeQuerystring method
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function testPassedArgsMergingWithUrlOptionsParamTypeQuerystring() {
|
|
|
+ Router::reload();
|
|
|
+ Router::parse('/');
|
|
|
+ Router::setRequestInfo(array(
|
|
|
+ array('plugin' => null, 'controller' => 'articles', 'action' => 'index', 'pass' => array('2'), 'named' => array('foo' => 'bar'), 'url' => array('url' => 'articles/index/2/foo:bar')),
|
|
|
+ array('base' => '/', 'here' => '/articles/', 'webroot' => '/')
|
|
|
+ ));
|
|
|
+ $this->Paginator->request->params['paging'] = array(
|
|
|
+ 'Article' => array(
|
|
|
+ 'page' => 1, 'current' => 3, 'count' => 13,
|
|
|
+ 'prevPage' => false, 'nextPage' => true, 'pageCount' => 8,
|
|
|
+ 'options' => array(
|
|
|
+ 'page' => 1,
|
|
|
+ 'order' => array(),
|
|
|
+ 'conditions' => array()
|
|
|
+ ),
|
|
|
+ 'paramType' => 'querystring'
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ $this->Paginator->request->params['pass'] = array(2);
|
|
|
+ $this->Paginator->request->params['named'] = array('foo' => 'bar');
|
|
|
+ $this->Paginator->request->query = array('x' => 'y');
|
|
|
+ $this->Paginator->beforeRender('posts/index');
|
|
|
+
|
|
|
+ $result = $this->Paginator->sort('title');
|
|
|
+ $expected = array(
|
|
|
+ 'a' => array('href' => '/articles/index/2/foo:bar?x=y&page=1&sort=title&direction=asc'),
|
|
|
+ 'Title',
|
|
|
+ '/a'
|
|
|
+ );
|
|
|
+ $this->assertTags($result, $expected);
|
|
|
+
|
|
|
+ $result = $this->Paginator->numbers();
|
|
|
+ $expected = array(
|
|
|
+ array('span' => array('class' => 'current')), '1', '/span',
|
|
|
+ ' | ',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/foo:bar?x=y&page=2')), '2', '/a', '/span',
|
|
|
+ ' | ',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/foo:bar?x=y&page=3')), '3', '/a', '/span',
|
|
|
+ ' | ',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/foo:bar?x=y&page=4')), '4', '/a', '/span',
|
|
|
+ ' | ',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/foo:bar?x=y&page=5')), '5', '/a', '/span',
|
|
|
+ ' | ',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/foo:bar?x=y&page=6')), '6', '/a', '/span',
|
|
|
+ ' | ',
|
|
|
+ array('span' => array()), array('a' => array('href' => '/articles/index/2/foo:bar?x=y&page=7')), '7', '/a', '/span',
|
|
|
+ );
|
|
|
+ $this->assertTags($result, $expected);
|
|
|
+
|
|
|
+ $result = $this->Paginator->next('Next');
|
|
|
+ $expected = array(
|
|
|
+ 'span' => array('class' => 'next'),
|
|
|
+ 'a' => array('href' => '/articles/index/2/foo:bar?x=y&page=2', 'rel' => 'next'),
|
|
|
'Next',
|
|
|
'/a',
|
|
|
'/span'
|