function _sortBy($list, $iterator, $context = NULL) { return Underscore::sortBy($list, $iterator, $context); }
/** * @dataProvider peopleDataProvider * @tags collections */ public function testSortBy($people, $type, $meta) { $age = function ($v) { return 2014 - _::get($v, 'born'); }; $keys = ['nportman', 'ldicaprio', 'rscott', 'mfreeman', 'jnicholson']; // it sorts the list items using criteria calculation function $this->array(_::sortBy($people, $age))->keys->isEqualTo($keys); // it should be possible to specify a context for criteria calculcation function $age = function ($v) { return $this->year - _::get($v, 'born'); }; $context = (object) ['year' => 2014]; $this->array(_::sortBy($people, $age, $context))->keys->isEqualTo($keys); }