/** * Reset CodeIgniter instance */ function reset_instance() { // Reset loaded classes load_class('', '', NULL, TRUE); is_loaded('', TRUE); // Close db connection $CI =& get_instance(); if (isset($CI->db)) { if ($CI->db->dsn !== 'sqlite::memory:' && $CI->db->database !== ':memory:') { $CI->db->close(); $CI->db = null; } else { // Don't close if SQLite in-memory database // If we close it, all tables and stored data will be gone load_class_instance('db', $CI->db); } } // Load core classes load_class('Benchmark', 'core'); load_class('Hooks', 'core'); load_class('Config', 'core'); // load_class('Utf8', 'core'); load_class('URI', 'core'); load_class('Router', 'core'); load_class('Output', 'core'); load_class('Security', 'core'); load_class('Input', 'core'); load_class('Lang', 'core'); CIPHPUnitTest::loadLoader(); // Remove CodeIgniter instance $CI = new CIPHPUnitTestNullCodeIgniter(); }
public function test_index_logged_in() { $this->request->setCallablePreConstructor(function () { // Get mock object $auth = $this->getDouble('Ion_auth', ['logged_in' => TRUE]); // Inject mock object load_class_instance('ion_auth', $auth); }); $output = $this->request('GET', 'auth_check_in_construct'); $this->assertContains('You are logged in.', $output); }
/** * Reset CodeIgniter instance */ function reset_instance() { // Reset loaded classes load_class('', '', NULL, TRUE); is_loaded('', TRUE); // Reset config functions reset_config(); // Close db connection $CI =& get_instance(); if (isset($CI->db)) { if ($CI->db->dsn !== 'sqlite::memory:' && $CI->db->database !== ':memory:') { $CI->db->close(); $CI->db = null; } else { // Don't close if SQLite in-memory database // If we close it, all tables and stored data will be gone load_class_instance('db', $CI->db); } } // Load core classes $BM =& load_class('Benchmark', 'core'); CIPHPUnitTestSuperGlobal::set_Global('BM', $BM); $EXT =& load_class('Hooks', 'core'); CIPHPUnitTestSuperGlobal::set_Global('EXT', $EXT); $CFG =& load_class('Config', 'core'); CIPHPUnitTestSuperGlobal::set_Global('CFG', $CFG); $UNI =& load_class('URI', 'core'); CIPHPUnitTestSuperGlobal::set_Global('UNI', $UNI); // $URI =& load_class('Utf8', 'core'); // CIPHPUnitTestSuperGlobal::set_Global('URI', $URI); $RTR =& load_class('Router', 'core'); CIPHPUnitTestSuperGlobal::set_Global('RTR', $RTR); $OUT =& load_class('Output', 'core'); CIPHPUnitTestSuperGlobal::set_Global('OUT', $OUT); $SEC =& load_class('Security', 'core'); CIPHPUnitTestSuperGlobal::set_Global('SEC', $SEC); $IN =& load_class('Input', 'core'); CIPHPUnitTestSuperGlobal::set_Global('IN', $IN); $LANG =& load_class('Lang', 'core'); CIPHPUnitTestSuperGlobal::set_Global('LANG', $LANG); CIPHPUnitTest::loadLoader(); // Remove CodeIgniter instance $CI = new CIPHPUnitTestNullCodeIgniter(); }
/** * Helper function to go as admin */ private function iAmAdminNow() { $this->request->setCallablePreConstructor(function () { // Get mock object $auth = $this->getDouble('aauth', ['is_admin' => TRUE]); // Inject mock object load_class_instance('aauth', $auth); }); }
public static function loadLoader() { $loader = new self::$loader_class(); load_class_instance('Loader', $loader); }