From ee1980b8f5eb56a82830c14eb1d327853628cd13 Mon Sep 17 00:00:00 2001 From: Lucas Ferreira Date: Fri, 26 May 2017 18:36:50 -0300 Subject: [PATCH] - Tests for array order syntax fix --- .../Component/PaginatorComponentTest.php | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/Cake/Test/Case/Controller/Component/PaginatorComponentTest.php b/lib/Cake/Test/Case/Controller/Component/PaginatorComponentTest.php index 087b92029..c888b291d 100644 --- a/lib/Cake/Test/Case/Controller/Component/PaginatorComponentTest.php +++ b/lib/Cake/Test/Case/Controller/Component/PaginatorComponentTest.php @@ -320,12 +320,20 @@ class PaginatorComponentTest extends CakeTestCase { $Controller->PaginatorControllerPost->order = null; + /* ORDER ARRAY FIELD => SORT MODE */ $Controller->Paginator->settings = array( 'order' => array('PaginatorControllerComment.id' => 'ASC') ); $results = Hash::extract($Controller->Paginator->paginate('PaginatorControllerComment'), '{n}.PaginatorControllerComment.id'); $this->assertEquals(array(1, 2, 3, 4, 5, 6), $results); + /* ORDER ARRAY "FIELD SORT" MODE */ + $Controller->Paginator->settings = array( + 'order' => array('PaginatorControllerComment.id DESC') + ); + $results = Hash::extract($Controller->Paginator->paginate('PaginatorControllerComment'), '{n}.PaginatorControllerComment.id'); + $this->assertEquals(array(6, 5, 4, 3, 2, 1), $results); + $Controller->Paginator->settings = array( 'order' => array('PaginatorControllerPost.id' => 'ASC') ); @@ -619,6 +627,7 @@ class PaginatorComponentTest extends CakeTestCase { $result = $Controller->Paginator->validateSort($Controller->PaginatorControllerPost, array()); $this->assertArrayNotHasKey('order', $result); + /* DEFAULT */ $Controller->PaginatorControllerPost->order = array( 'PaginatorControllerPost.id', 'PaginatorControllerPost.created' => 'asc' @@ -629,6 +638,18 @@ class PaginatorComponentTest extends CakeTestCase { 'PaginatorControllerPost.created' => 'asc' ); $this->assertEquals($expected, $result['order']); + + /* CLASSIC */ + $Controller->PaginatorControllerPost->order = array( + 'PaginatorControllerPost.id ASC', + 'PaginatorControllerPost.created DESC' + ); + $result = $Controller->Paginator->validateSort($Controller->PaginatorControllerPost, array()); + $expected = array( + 'PaginatorControllerPost.id' => 'ASC', + 'PaginatorControllerPost.created' => 'DESC' + ); + $this->assertEquals($expected, $result['order']); } /**