TestingDispatchShell.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * Testing Dispatch Shell Shell file
  4. *
  5. * CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html>
  6. * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
  7. *
  8. * Licensed under The MIT License
  9. * For full copyright and license information, please see the LICENSE.txt
  10. * Redistributions of files must retain the above copyright notice
  11. *
  12. * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
  13. * @link http://book.cakephp.org/2.0/en/development/testing.html CakePHP(tm) Tests
  14. * @since 1.2.0
  15. * @license http://www.opensource.org/licenses/mit-license.php MIT License
  16. */
  17. namespace TestApp\Shell;
  18. use Cake\Console\Shell;
  19. use Cake\Core\Configure;
  20. /**
  21. * Class for testing dispatchShell functionality
  22. */
  23. class TestingDispatchShell extends Shell
  24. {
  25. public $outPath = '';
  26. protected function _welcome()
  27. {
  28. $this->out(sprintf('<info>Welcome to CakePHP %s Console</info>', 'v' . Configure::version()));
  29. }
  30. public function out($message = null, $newlines = 1, $level = Shell::NORMAL)
  31. {
  32. file_put_contents(TEST_APP . 'shell.log', $message . "\n", FILE_APPEND);
  33. }
  34. public function testTask()
  35. {
  36. $this->out('I am a test task, I dispatch another Shell');
  37. Configure::write('App.namespace', 'TestApp');
  38. $this->dispatchShell('testing_dispatch', 'dispatch_test_task');
  39. }
  40. public function dispatchTestTask()
  41. {
  42. $this->out('I am a dispatched Shell');
  43. }
  44. }