HummingBirdAnimeClient/tests/bootstrap.php

70 lines
1.9 KiB
PHP
Raw Permalink Normal View History

<?php
/**
* Global setup for unit tests
*/
2015-10-19 12:50:46 -04:00
// -----------------------------------------------------------------------------
// Autoloaders
// -----------------------------------------------------------------------------
/**
* Joins paths together. Variadic to take an
* arbitrary number of arguments
*
* @return string
*/
function _dir()
{
return implode(DIRECTORY_SEPARATOR, func_get_args());
}
2015-09-17 23:11:18 -04:00
// Define base path constants
2015-09-25 13:41:12 -04:00
define('ROOT_DIR', realpath(_dir(__DIR__, "/../")));
define('APP_DIR', _dir(ROOT_DIR, 'app'));
define('CONF_DIR', _dir(APP_DIR, 'config'));
define('SRC_DIR', _dir(ROOT_DIR, 'src'));
define('BASE_DIR', _dir(SRC_DIR, 'Base'));
2015-10-19 12:50:46 -04:00
define('TEST_DATA_DIR', _dir(__DIR__, 'test_data'));
define('TEST_VIEW_DIR', _dir(__DIR__, 'test_views'));
2015-09-17 23:11:18 -04:00
require _dir(ROOT_DIR, '/vendor/autoload.php');
/**
* Set up autoloaders
*
* @codeCoverageIgnore
* @return void
*/
2015-09-17 23:11:18 -04:00
spl_autoload_register(function ($class) {
$class_parts = explode('\\', $class);
$ns_path = SRC_DIR . '/' . implode('/', $class_parts) . ".php";
2015-09-17 23:11:18 -04:00
if (file_exists($ns_path))
{
require_once($ns_path);
return;
}
});
2015-10-19 12:50:46 -04:00
2015-10-09 14:34:55 -04:00
// -----------------------------------------------------------------------------
2015-10-19 12:50:46 -04:00
// Ini Settings
2015-10-09 14:34:55 -04:00
// -----------------------------------------------------------------------------
2015-10-19 12:50:46 -04:00
ini_set('session.use_cookies', 0);
ini_set("session.use_only_cookies",0);
ini_set("session.use_trans_sid",1);
// Start session here to supress error about headers not sent
session_start();
2015-10-09 14:34:55 -04:00
// -----------------------------------------------------------------------------
2015-10-19 12:50:46 -04:00
// Load base test case and mocks
2015-10-09 14:34:55 -04:00
// -----------------------------------------------------------------------------
2015-10-19 12:50:46 -04:00
// Pre-define some superglobals
$_SESSION = [];
$_COOKIE = [];
2015-10-09 14:34:55 -04:00
2015-10-19 12:50:46 -04:00
// Request base test case and mocks
require _dir(__DIR__, 'TestSessionHandler.php');
require _dir(__DIR__, 'mocks.php');
require _dir(__DIR__, 'AnimeClient_TestCase.php');
2015-10-09 14:34:55 -04:00
// End of bootstrap.php