fixes Text::toList to allow passing array( 1=>"abc", 2=>"abc" ) and the updated test case

Signed-off-by: Mark Story <mark@mark-story.com>
This commit is contained in:
dogmatic 2009-11-24 21:11:22 +02:00 committed by mark_story
parent 4a08bd120d
commit 398113f828
2 changed files with 11 additions and 6 deletions

View file

@ -332,15 +332,17 @@ class TextHelper extends AppHelper {
* @access public
*/
function toList($list, $and = 'and') {
$r = '';
$c = count($list) - 1;
$return = '';
$count = count($list) - 1;
$counter = 0;
foreach ($list as $i => $item) {
$r .= $item;
if ($c > 0 && $i < $c) {
$r .= ($i < $c - 1 ? ', ' : " {$and} ");
$return .= $item;
if ($count > 0 && $counter < $count) {
$return .= ($counter < $count - 1 ? ', ' : " {$and} ");
}
$counter++;
}
return $r;
return $return;
}
}
?>

View file

@ -362,6 +362,9 @@ class TextHelperTest extends CakeTestCase {
$result = $this->Text->toList(array('Dusty', 'Lucky', 'Ned'), 'y');
$this->assertEqual($result, 'Dusty, Lucky y Ned');
$result = $this->Text->toList(array( 1 => 'Dusty', 2 => 'Lucky', 3 => 'Ned'), 'y');
$this->assertEqual($result, 'Dusty, Lucky y Ned');
}
}
?>