Fix plugin path filtering when directories do not exist.

When paths do not exist we should correctly remove them from the output
paths.

Fixes #2748
This commit is contained in:
mark_story 2014-01-30 21:40:08 -05:00
parent 605351d0c9
commit 4d57d3ce5b
2 changed files with 6 additions and 2 deletions

View file

@ -191,9 +191,11 @@ class PluginTask extends AppShell {
$valid = false;
foreach ($pathOptions as $i => $path) {
if (!is_dir($path)) {
array_splice($pathOptions, $i, 1);
unset($pathOptions[$i]);
}
}
$pathOptions = array_values($pathOptions);
$max = count($pathOptions);
while (!$valid) {
foreach ($pathOptions as $i => $option) {

View file

@ -185,7 +185,9 @@ class PluginTaskTest extends CakeTestCase {
public function testFindPathNonExistant() {
$paths = App::path('plugins');
$last = count($paths);
$paths[] = '/fake/path';
array_unshift($paths, '/fake/path');
$paths[] = '/fake/path2';
$this->Task = $this->getMock('PluginTask',
array('in', 'out', 'err', 'createFile', '_stop'),