diff --git a/lib/Cake/Console/Command/Task/PluginTask.php b/lib/Cake/Console/Command/Task/PluginTask.php index b5f9c2cbe..834c85fab 100644 --- a/lib/Cake/Console/Command/Task/PluginTask.php +++ b/lib/Cake/Console/Command/Task/PluginTask.php @@ -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) { diff --git a/lib/Cake/Test/Case/Console/Command/Task/PluginTaskTest.php b/lib/Cake/Test/Case/Console/Command/Task/PluginTaskTest.php index 1d2065db5..2bf983e5f 100644 --- a/lib/Cake/Test/Case/Console/Command/Task/PluginTaskTest.php +++ b/lib/Cake/Test/Case/Console/Command/Task/PluginTaskTest.php @@ -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'),