diff --git a/lib/Cake/Test/Case/Controller/Component/PaginatorComponentTest.php b/lib/Cake/Test/Case/Controller/Component/PaginatorComponentTest.php index 087b92029f0..c888b291dcd 100644 --- a/lib/Cake/Test/Case/Controller/Component/PaginatorComponentTest.php +++ b/lib/Cake/Test/Case/Controller/Component/PaginatorComponentTest.php @@ -320,12 +320,20 @@ public function testPaginate() { $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 @@ public function testPaginateOrderModelDefault() { $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 @@ public function testPaginateOrderModelDefault() { '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']); } /**