Пример #1
0
/**
 * 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);
 }
Пример #3
0
/**
 * 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();
}
Пример #4
0
 /**
  * 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);
 }