Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
<?php
/**
 * This source file is part of GotCms.
 *
 * GotCms is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * GotCms is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License along
 * with GotCms. If not, see <http://www.gnu.org/licenses/lgpl-3.0.html>.
 *
 * PHP Version >=5.3
 *
 * @category Gc_Test
 * @package  Bootstrap
 * @author   Pierre Rambaud (GoT) <pierre.rambaud86@gmail.com>
 * @license  GNU/LGPL http://www.gnu.org/licenses/lgpl-3.0.html
 * @link     http://www.got-cms.com
 */
namespace Gc;

/*
 * Set error reporting to the level to which Es code must comply.
 */
error_reporting(E_ALL | E_STRICT);

/*
 * Determine the root, library, and tests directories of the framework
 * distribution.
 */
require_once 'PHPUnit/Autoload.php';
chdir(dirname(__DIR__));
$gcRoot    = getcwd();
$gcPublic  = '/public';
$zfLibrary = $gcRoot . '/vendor';
$gcLibrary = $gcRoot . '/library';
$gcTests   = $gcRoot . '/tests';

$path = array(
    $gcLibrary,
    $gcRoot . '/module',
    $zfLibrary,
    $gcTests,
    get_include_path(),
);

set_include_path(implode(PATH_SEPARATOR, $path));
define('GC_APPLICATION_PATH', $gcRoot);
define('GC_PUBLIC_PATH', $gcRoot . $gcPublic);
define('GC_MEDIA_PATH', GC_APPLICATION_PATH . '/tests/media');
define('GC_TEMPLATE_PATH', GC_APPLICATION_PATH . '/tests/media/template');

/**
 * Setup autoloading
 */

$zfPath = false;

if (getenv('ZF2_PATH')) { // Support for ZF2_PATH environment variable or git submodule
    $zfPath = getenv('ZF2_PATH');
} elseif (get_cfg_var('zf2_path')) { // Support for zf2_path directive value
    $zfPath = get_cfg_var('zf2_path');
} elseif (is_dir('vendor/Zend')) {
    $zfPath = 'vendor';
}

// Composer autoloading
if (file_exists($gcRoot . '/vendor/autoload.php')) {
    $loader = include $gcRoot . '/vendor/autoload.php';
}

// Get application stack configuration
if ($zfPath) {
    // Get application stack configuration
    $configuration = include_once $gcRoot . '/config/application.config.php';

    $configuration['module_listener_options']['config_glob_paths'] = array(
        'tests/config/local.php',
    );

    //Load all custom modules
    $path       = GC_APPLICATION_PATH . '/library/Modules/';
    $modules    = glob($path . '*', GLOB_ONLYDIR);
    foreach ($modules as $directory) {
        $configuration['autoloader']['namespaces'][str_replace($path, '', $directory)] = $directory;
    }

    if (isset($loader)) {
        $loader->add('Zend', $zfPath);
        foreach ($configuration['autoloader']['namespaces'] as $name => $path) {
            $loader->add($name, dirname($path));
        }

        $loader->register();
    } else {
        include $zfPath . '/Zend/Loader/AutoloaderFactory.php';
        \Zend\Loader\AutoloaderFactory::factory(
            array(
                'Zend\Loader\StandardAutoloader' => $configuration['autoloader'],
            )
        );
    }
}

if (!class_exists('Zend\Loader\AutoloaderFactory')) {
    throw new RuntimeException(
        'Unable to load ZF2. Run `php composer.phar install` ' .
        'or define a ZF2_PATH environment variable.'
    );
}

/*
 * Load the user-defined test configuration file, if it exists; otherwise, load
 * the default configuration.
 */
if (is_readable($gcTests . DIRECTORY_SEPARATOR . 'TestConfiguration.php')) {
    include_once $gcTests . DIRECTORY_SEPARATOR . 'TestConfiguration.php';
} else {
    include_once $gcTests . DIRECTORY_SEPARATOR . 'TestConfiguration.php.dist';
}

require_once 'config/prepare-database.php';
require_once 'config/override-php-functions.php';

// Run application

\Zend\Console\Console::overrideIsConsole(false);
$application = \Zend\Mvc\Application::init($configuration);
$application->getMvcEvent()->getRouter()->setRequestUri($application->getRequest()->getUri());
$application->getRequest()->setBasePath('http://got-cms.com');
\Gc\Registry::set('Application', $application);
//Remove all event observer
\Gc\Event\StaticEventManager::resetInstance();
/*
 * Unset global variables that are no longer needed.
 */
unset($gcRoot, $gcDocumentRoot, $gcLibrary, $gcTests, $path);