Permalink
Browse files

Adding test case for SchemaShell

  • Loading branch information...
1 parent c305b7a commit 32754c426198fb8f264e706fea740a3161a08fb8 @markstory markstory committed Aug 8, 2009
Showing with 80 additions and 0 deletions.
  1. +80 −0 cake/tests/cases/console/libs/schema.test.php
@@ -0,0 +1,80 @@
+<?php
+/**
+ * SchemaShellTest Test file
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP : Rapid Development Framework (http://www.cakephp.org)
+ * Copyright 2006-2009, Cake Software Foundation, Inc.
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @filesource
+ * @copyright Copyright 2006-2009, Cake Software Foundation, Inc.
+ * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
+ * @package cake
+ * @subpackage cake.tests.cases.console.libs.tasks
+ * @since CakePHP v 1.3
+ * @license http://www.opensource.org/licenses/mit-license.php The MIT License
+ */
+App::import('Shell', 'Shell', false);
+
+if (!defined('DISABLE_AUTO_DISPATCH')) {
+ define('DISABLE_AUTO_DISPATCH', true);
+}
+
+if (!class_exists('ShellDispatcher')) {
+ ob_start();
+ $argv = false;
+ require CAKE . 'console' . DS . 'cake.php';
+ ob_end_clean();
+}
+
+if (!class_exists('SchemaShell')) {
+ require CAKE . 'console' . DS . 'libs' . DS . 'schema.php';
+}
+
+Mock::generatePartial(
+ 'ShellDispatcher', 'TestSchemaShellMockShellDispatcher',
+ array('getInput', 'stdout', 'stderr', '_stop', '_initEnvironment')
+);
+Mock::generatePartial(
+ 'SchemaShell', 'MockSchemaShell',
+ array('in', 'out', 'hr', 'createFile', 'error', 'err')
+);
+
+/**
+ * SchemaShellTest class
+ *
+ * @package cake
+ * @subpackage cake.tests.cases.console.libs.tasks
+ */
+class SchemaShellTest extends CakeTestCase {
+
+
+/**
+ * startTest method
+ *
+ * @return void
+ * @access public
+ */
+ function startTest() {
+ $this->Dispatcher =& new TestSchemaShellMockShellDispatcher();
+ $this->Task =& new MockSchemaShell($this->Dispatcher);
+ $this->Task->Dispatch =& $this->Dispatcher;
+ }
+
+/**
+ * endTest method
+ *
+ * @return void
+ * @access public
+ */
+ function endTest() {
+ ClassRegistry::flush();
+ }
+
+
+}
+?>

0 comments on commit 32754c4

Please sign in to comment.