diff --git a/cake/console/libs/tasks/plugin.php b/cake/console/libs/tasks/plugin.php index d1ca64494..5e50bb877 100644 --- a/cake/console/libs/tasks/plugin.php +++ b/cake/console/libs/tasks/plugin.php @@ -141,13 +141,17 @@ class PluginTask extends Shell { if (strtolower($looksGood) == 'y') { $verbose = $this->in(__('Do you want verbose output?', true), array('y', 'n'), 'n'); - $Folder = new Folder($this->path . $pluginPath); + $Folder =& new Folder($this->path . $pluginPath); $directories = array( 'config' . DS . 'sql', 'models' . DS . 'behaviors', 'controllers' . DS . 'components', 'views' . DS . 'helpers', - 'tests' . DS . 'cases', + 'tests' . DS . 'cases' . DS . 'components', + 'tests' . DS . 'cases' . DS . 'helpers', + 'tests' . DS . 'cases' . DS . 'behaviors', + 'tests' . DS . 'cases' . DS . 'controllers', + 'tests' . DS . 'cases' . DS . 'models', 'tests' . DS . 'groups', 'tests' . DS . 'fixtures', 'vendors' . DS . 'img', @@ -157,7 +161,9 @@ class PluginTask extends Shell { ); foreach ($directories as $directory) { - $Folder->create($this->path . $pluginPath . DS . $directory); + $dirPath = $this->path . $pluginPath . DS . $directory; + $Folder->create($dirPath); + $File =& new File($dirPath . DS . 'empty', true); } if (strtolower($verbose) == 'y') { diff --git a/cake/tests/cases/console/libs/tasks/plugin.test.php b/cake/tests/cases/console/libs/tasks/plugin.test.php index 665d6caa1..1d9e74532 100644 --- a/cake/tests/cases/console/libs/tasks/plugin.test.php +++ b/cake/tests/cases/console/libs/tasks/plugin.test.php @@ -113,22 +113,72 @@ class PluginTaskTest extends CakeTestCase { $path = $this->Task->path . 'bake_test_plugin'; $this->assertTrue(is_dir($path), 'No plugin dir %s'); + $this->assertTrue(is_dir($path . DS . 'config'), 'No config dir %s'); $this->assertTrue(is_dir($path . DS . 'config' . DS . 'sql'), 'No config dir %s'); + $this->assertTrue(file_exists($path . DS . 'config' . DS . 'sql' . DS . 'empty'), 'No empty file %s'); + $this->assertTrue(is_dir($path . DS . 'controllers'), 'No controllers dir %s'); $this->assertTrue(is_dir($path . DS . 'controllers' . DS .'components'), 'No components dir %s'); + $this->assertTrue(file_exists($path . DS . 'controllers' . DS . 'components' . DS . 'empty'), 'No empty file %s'); $this->assertTrue(is_dir($path . DS . 'models'), 'No models dir %s'); + $this->assertTrue(file_exists($path . DS . 'models' . DS . 'behaviors' . DS . 'empty'), 'No empty file %s'); + $this->assertTrue(is_dir($path . DS . 'views'), 'No views dir %s'); $this->assertTrue(is_dir($path . DS . 'views' . DS . 'helpers'), 'No helpers dir %s'); + $this->assertTrue(file_exists($path . DS . 'views' . DS . 'helpers' . DS . 'empty'), 'No empty file %s'); + $this->assertTrue(is_dir($path . DS . 'tests'), 'No tests dir %s'); $this->assertTrue(is_dir($path . DS . 'tests' . DS . 'cases'), 'No cases dir %s'); + + $this->assertTrue( + is_dir($path . DS . 'tests' . DS . 'cases' . DS . 'components'), 'No components cases dir %s' + ); + $this->assertTrue( + file_exists($path . DS . 'tests' . DS . 'cases' . DS . 'components' . DS . 'empty'), 'No empty file %s' + ); + + $this->assertTrue(is_dir($path . DS . 'tests' . DS . 'cases' . DS . 'behaviors'), 'No behaviors cases dir %s'); + $this->assertTrue( + file_exists($path . DS . 'tests' . DS . 'cases' . DS . 'behaviors' . DS . 'empty'), 'No empty file %s' + ); + + $this->assertTrue(is_dir($path . DS . 'tests' . DS . 'cases' . DS . 'helpers'), 'No helpers cases dir %s'); + $this->assertTrue( + file_exists($path . DS . 'tests' . DS . 'cases' . DS . 'helpers' . DS . 'empty'), 'No empty file %s' + ); + + $this->assertTrue(is_dir($path . DS . 'tests' . DS . 'cases' . DS . 'models'), 'No models cases dir %s'); + $this->assertTrue( + file_exists($path . DS . 'tests' . DS . 'cases' . DS . 'models' . DS . 'empty'), 'No empty file %s' + ); + + $this->assertTrue( + is_dir($path . DS . 'tests' . DS . 'cases' . DS . 'controllers'), + 'No controllers cases dir %s' + ); + $this->assertTrue( + file_exists($path . DS . 'tests' . DS . 'cases' . DS . 'controllers' . DS . 'empty'), 'No empty file %s' + ); + $this->assertTrue(is_dir($path . DS . 'tests' . DS . 'groups'), 'No groups dir %s'); + $this->assertTrue(file_exists($path . DS . 'tests' . DS . 'groups' . DS . 'empty'), 'No empty file %s'); + $this->assertTrue(is_dir($path . DS . 'tests' . DS . 'fixtures'), 'No fixtures dir %s'); + $this->assertTrue(file_exists($path . DS . 'tests' . DS . 'fixtures' . DS . 'empty'), 'No empty file %s'); + $this->assertTrue(is_dir($path . DS . 'vendors'), 'No vendors dir %s'); $this->assertTrue(is_dir($path . DS . 'vendors' . DS . 'css'), 'No vendors css dir %s'); + $this->assertTrue(file_exists($path . DS . 'vendors' . DS . 'css' . DS . 'empty'), 'No empty file %s'); + $this->assertTrue(is_dir($path . DS . 'vendors' . DS . 'js'), 'No vendors js dir %s'); + $this->assertTrue(file_exists($path . DS . 'vendors' . DS . 'js' . DS . 'empty'), 'No empty file %s'); + $this->assertTrue(is_dir($path . DS . 'vendors' . DS . 'img'), 'No vendors img dir %s'); + $this->assertTrue(file_exists($path . DS . 'vendors' . DS . 'img' . DS . 'empty'), 'No empty file %s'); + $this->assertTrue(is_dir($path . DS . 'vendors' . DS . 'shells'), 'No vendors shells dir %s'); + $this->assertTrue(file_exists($path . DS . 'vendors' . DS . 'shells' . DS . 'empty'), 'No empty file %s'); $file = $path . DS . 'bake_test_plugin_app_controller.php'; $this->Task->expectAt(0, 'createFile', array($file, '*'), 'No AppController %s');