Permalink
Browse files

Allow Folder::addPathElement() to accept arrays, also corrected docblock

  • Loading branch information...
1 parent 5e9b222 commit b9003e5f7c9b4710981c7037a2703f35c6a958a8 @bcrowe bcrowe committed Oct 3, 2013
Showing with 19 additions and 4 deletions.
  1. +15 −2 lib/Cake/Test/Case/Utility/FolderTest.php
  2. +4 −2 lib/Cake/Utility/Folder.php
@@ -345,11 +345,24 @@ public function testZeroAsDirectory() {
* @return void
*/
public function testAddPathElement() {
+ $expected = DS . 'some' . DS . 'dir' . DS . 'another_path';
+
$result = Folder::addPathElement(DS . 'some' . DS . 'dir', 'another_path');
- $this->assertEquals(DS . 'some' . DS . 'dir' . DS . 'another_path', $result);
+ $this->assertEquals($expected, $result);
$result = Folder::addPathElement(DS . 'some' . DS . 'dir' . DS, 'another_path');
- $this->assertEquals(DS . 'some' . DS . 'dir' . DS . 'another_path', $result);
+ $this->assertEquals($expected, $result);
+
+ $result = Folder::addPathElement(DS . 'some' . DS . 'dir', array('another_path'));
+ $this->assertEquals($expected, $result);
+
+ $result = Folder::addPathElement(DS . 'some' . DS . 'dir' . DS, array('another_path'));
+ $this->assertEquals($expected, $result);
+
+ $expected = DS . 'some' . DS . 'dir' . DS . 'another_path' . DS . 'and' . DS . 'another';
+
+ $result = Folder::addPathElement(DS . 'some' . DS . 'dir', array('another_path', 'and', 'another'));
+ $this->assertEquals($expected, $result);
}
/**
@@ -321,12 +321,14 @@ public static function slashTerm($path) {
* Returns $path with $element added, with correct slash in-between.
*
* @param string $path Path
- * @param string $element Element to and at end of path
+ * @param string|array $element Element to add at end of path
* @return string Combined path
* @link http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html#Folder::addPathElement
*/
public static function addPathElement($path, $element) {
- return rtrim($path, DS) . DS . $element;
+ $element = (array)$element;
+ array_unshift($element, rtrim($path, DS));
+ return implode(DS, $element)
}
/**

0 comments on commit b9003e5

Please sign in to comment.