/** * Loads kernel file. * * @param ContainerBuilder $container */ public function process(ContainerBuilder $container) { // Connect to database and build manifest $frameworkPath = $container->getParameter('behat.silverstripe_extension.framework_path'); $_GET['flush'] = 1; require_once $frameworkPath . '/core/Core.php'; if (class_exists('TestRunner')) { // 3.x compat \TestRunner::use_test_manifest(); } else { \SapphireTest::use_test_manifest(); } unset($_GET['flush']); // Remove the error handler so that PHPUnit can add its own restore_error_handler(); }
$_GET = array(); } if (!isset($_REQUEST)) { $_REQUEST = array(); } foreach ($args as $arg) { if (strpos($arg, '=') == false) { $_GET['args'][] = $arg; } else { $newItems = array(); parse_str(substr($arg, 0, 2) == '--' ? substr($arg, 2) : $arg, $newItems); $_GET = array_merge($_GET, $newItems); } } $_REQUEST = array_merge($_REQUEST, $_GET); } // Connect to database require_once $frameworkPath . '/core/Core.php'; require_once $frameworkPath . '/tests/FakeController.php'; global $databaseConfig; DB::connect($databaseConfig); // Now set a fake REQUEST_URI $_SERVER['REQUEST_URI'] = BASE_URL; // Fake a session $_SESSION = null; // Prepare manifest autoloader $controller = new FakeController(); SapphireTest::use_test_manifest(); SapphireTest::set_is_running_test(true); // Remove the error handler so that PHPUnit can add its own restore_error_handler();