Set default sort direction to 'asc'.

This commit is contained in:
ADmad 2014-05-30 19:43:09 +05:30
parent 4e8e266754
commit 543066f34a
2 changed files with 24 additions and 9 deletions

View file

@ -23,6 +23,11 @@ App::uses('Hash', 'Utility');
*/ */
class HashTest extends CakeTestCase { class HashTest extends CakeTestCase {
/**
* Data provider
*
* @return array
*/
public static function articleData() { public static function articleData() {
return array( return array(
array( array(
@ -136,6 +141,11 @@ class HashTest extends CakeTestCase {
); );
} }
/**
* Data provider
*
* @return array
*/
public static function userData() { public static function userData() {
return array( return array(
array( array(
@ -1021,7 +1031,7 @@ class HashTest extends CakeTestCase {
* @return void * @return void
*/ */
public function testSort() { public function testSort() {
$result = Hash::sort(array(), '{n}.name', 'asc'); $result = Hash::sort(array(), '{n}.name');
$this->assertEquals(array(), $result); $this->assertEquals(array(), $result);
$a = array( $a = array(
@ -1044,7 +1054,7 @@ class HashTest extends CakeTestCase {
'Friend' => array(array('name' => 'Nate')) 'Friend' => array(array('name' => 'Nate'))
) )
); );
$a = Hash::sort($a, '{n}.Friend.{n}.name', 'asc'); $a = Hash::sort($a, '{n}.Friend.{n}.name');
$this->assertEquals($a, $b); $this->assertEquals($a, $b);
$b = array( $b = array(
@ -1786,6 +1796,11 @@ class HashTest extends CakeTestCase {
$this->assertEquals($expected, $result); $this->assertEquals($expected, $result);
} }
/**
* testApply
*
* @return void
*/
public function testApply() { public function testApply() {
$data = self::articleData(); $data = self::articleData();
@ -1808,8 +1823,8 @@ class HashTest extends CakeTestCase {
/** /**
* testing method for map callbacks. * testing method for map callbacks.
* *
* @param mixed $value * @param mixed $value Value
* @return mixed. * @return mixed
*/ */
public function mapCallback($value) { public function mapCallback($value) {
return $value * 2; return $value * 2;
@ -1818,9 +1833,9 @@ class HashTest extends CakeTestCase {
/** /**
* testing method for reduce callbacks. * testing method for reduce callbacks.
* *
* @param mixed $one * @param mixed $one First param
* @param mixed $two * @param mixed $two Second param
* @return mixed. * @return mixed
*/ */
public function reduceCallback($one, $two) { public function reduceCallback($one, $two) {
return $one + $two; return $one + $two;

View file

@ -800,12 +800,12 @@ class Hash {
* *
* @param array $data An array of data to sort * @param array $data An array of data to sort
* @param string $path A Set-compatible path to the array value * @param string $path A Set-compatible path to the array value
* @param string $dir See directions above. * @param string $dir See directions above. Defaults to 'asc'.
* @param string $type See direction types above. Defaults to 'regular'. * @param string $type See direction types above. Defaults to 'regular'.
* @return array Sorted array of data * @return array Sorted array of data
* @link http://book.cakephp.org/2.0/en/core-utility-libraries/hash.html#Hash::sort * @link http://book.cakephp.org/2.0/en/core-utility-libraries/hash.html#Hash::sort
*/ */
public static function sort(array $data, $path, $dir, $type = 'regular') { public static function sort(array $data, $path, $dir = 'asc', $type = 'regular') {
if (empty($data)) { if (empty($data)) {
return array(); return array();
} }