diff options
Diffstat (limited to 'tests/lib')
-rw-r--r-- | tests/lib/ci_testcase.php | 194 | ||||
-rw-r--r-- | tests/lib/common.php | 132 |
2 files changed, 0 insertions, 326 deletions
diff --git a/tests/lib/ci_testcase.php b/tests/lib/ci_testcase.php deleted file mode 100644 index afccee017..000000000 --- a/tests/lib/ci_testcase.php +++ /dev/null @@ -1,194 +0,0 @@ -<?php - - -// Need a way to change dependencies (core libs and laoded libs) -// Need a way to set the CI class - -class CI_TestCase extends PHPUnit_Framework_TestCase { - - protected $ci_config; - protected $ci_instance; - protected static $ci_test_instance; - - private $global_map = array( - 'benchmark' => 'bm', - 'config' => 'cfg', - 'hooks' => 'ext', - 'utf8' => 'uni', - 'router' => 'rtr', - 'output' => 'out', - 'security' => 'sec', - 'input' => 'in', - 'lang' => 'lang', - // @todo the loader is an edge case - 'loader' => 'load', - 'model' => 'model' - ); - - // -------------------------------------------------------------------- - - public function __construct() - { - parent::__construct(); - - $this->ci_config = array(); - } - - // -------------------------------------------------------------------- - - public function setUp() - { - if (method_exists($this, 'set_up')) - { - $this->set_up(); - } - } - - // -------------------------------------------------------------------- - - public function tearDown() - { - if (method_exists($this, 'tear_down')) - { - $this->tear_down(); - } - } - - // -------------------------------------------------------------------- - - function ci_set_config($key, $val = '') - { - if (is_array($key)) - { - $this->ci_config = $key; - } - else - { - $this->ci_config[$key] = $val; - } - } - - // -------------------------------------------------------------------- - - function ci_instance($obj = FALSE) - { - if ( ! is_object($obj)) - { - return $this->ci_instance; - } - - $this->ci_instance = $obj; - } - - // -------------------------------------------------------------------- - - function ci_instance_var($name, $obj = FALSE) - { - if ( ! is_object($obj)) - { - return $this->ci_instance->$name; - } - - $this->ci_instance->$name =& $obj; - } - - // -------------------------------------------------------------------- - - /** - * Grab a core class - * - * Loads the correct core class without extensions - * and returns a reference to the class name in the - * globals array with the correct key. This way the - * test can modify the variable it assigns to and - * still maintain the global. - */ - function &ci_core_class($name) - { - $name = strtolower($name); - - if (isset($this->global_map[$name])) - { - $class_name = ucfirst($name); - $global_name = $this->global_map[$name]; - } - elseif (in_array($name, $this->global_map)) - { - $class_name = ucfirst(array_search($name, $this->global_map)); - $global_name = $name; - } - else - { - throw new Exception('Not a valid core class.'); - } - - if ( ! class_exists('CI_'.$class_name)) - { - require_once BASEPATH.'core/'.$class_name.'.php'; - } - - $GLOBALS[strtoupper($global_name)] = 'CI_'.$class_name; - return $GLOBALS[strtoupper($global_name)]; - } - - // -------------------------------------------------------------------- - - // convenience function for global mocks - function ci_set_core_class($name, $obj) - { - $orig =& $this->ci_core_class($name); - $orig = $obj; - } - - // -------------------------------------------------------------------- - // Internals - // -------------------------------------------------------------------- - - /** - * Overwrite runBare - * - * PHPUnit instantiates the test classes before - * running them individually. So right before a test - * runs we set our instance. Normally this step would - * happen in setUp, but someone is bound to forget to - * call the parent method and debugging this is no fun. - */ - public function runBare() - { - self::$ci_test_instance = $this; - parent::runBare(); - } - - // -------------------------------------------------------------------- - - public static function instance() - { - return self::$ci_test_instance; - } - - // -------------------------------------------------------------------- - - function ci_get_config() - { - return $this->ci_config; - } - - // -------------------------------------------------------------------- - - /** - * This overload is useful to create a stub, that need to have a specific method. - */ - function __call($method, $args) - { - if ($this->{$method} instanceof Closure) - { - return call_user_func_array($this->{$method},$args); - } - else - { - return parent::__call($method, $args); - } - } -} - -// EOF
\ No newline at end of file diff --git a/tests/lib/common.php b/tests/lib/common.php deleted file mode 100644 index 4a832587d..000000000 --- a/tests/lib/common.php +++ /dev/null @@ -1,132 +0,0 @@ -<?php - -// Set up the global CI functions in their most minimal core representation - -function &get_instance() -{ - $test = CI_TestCase::instance(); - $instance = $test->ci_instance(); - return $instance; -} - -// -------------------------------------------------------------------- - -function &get_config() { - $test = CI_TestCase::instance(); - $config = $test->ci_get_config(); - - return $config; -} - -function config_item($item) -{ - $config =& get_config(); - - if ( ! isset($config[$item])) - { - return FALSE; - } - - return $config[$item]; -} - -// -------------------------------------------------------------------- - -function load_class($class, $directory = 'libraries', $prefix = 'CI_') -{ - if ($directory != 'core' OR $prefix != 'CI_') - { - throw new Exception('Not Implemented: Non-core load_class()'); - } - - $test = CI_TestCase::instance(); - - $obj =& $test->ci_core_class($class); - - if (is_string($obj)) - { - throw new Exception('Bad Isolation: Use ci_set_core_class to set '.$class.''); - } - - return $obj; -} - -// This is sort of meh. Should probably be mocked up with -// controllable output, so that we can test some of our -// security code. The function itself will be tested in the -// bootstrap testsuite. -// -------------------------------------------------------------------- - -function remove_invisible_characters($str, $url_encoded = TRUE) -{ - $non_displayables = array(); - - // every control character except newline (dec 10) - // carriage return (dec 13), and horizontal tab (dec 09) - - if ($url_encoded) - { - $non_displayables[] = '/%0[0-8bcef]/'; // url encoded 00-08, 11, 12, 14, 15 - $non_displayables[] = '/%1[0-9a-f]/'; // url encoded 16-31 - } - - $non_displayables[] = '/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S'; // 00-08, 11, 12, 14-31, 127 - - do - { - $str = preg_replace($non_displayables, '', $str, -1, $count); - } - while ($count); - - return $str; -} - - -// Clean up error messages -// -------------------------------------------------------------------- - -function show_error($message, $status_code = 500, $heading = 'An Error Was Encountered') -{ - throw new RuntimeException('CI Error: '.$message); -} - -function show_404($page = '', $log_error = TRUE) -{ - throw new RuntimeException('CI Error: 404'); -} - -function _exception_handler($severity, $message, $filepath, $line) -{ - throw new RuntimeException('CI Exception: '.$message.' | '.$filepath.' | '.$line); -} - - -// We assume a few things about our environment ... -// -------------------------------------------------------------------- - -function is_php($version = '5.0.0') -{ - return ! (version_compare(PHP_VERSION, $version) < 0); -} - -function is_really_writable($file) -{ - return is_writable($file); -} - -function is_loaded() -{ - throw new Exception('Bad Isolation: mock up environment'); -} - -function log_message($level = 'error', $message, $php_error = FALSE) -{ - return TRUE; -} - -function set_status_header($code = 200, $text = '') -{ - return TRUE; -} - -// EOF |