Вход Регистрация
Файл: symfony-2.7/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/AppKernel.php
Строк: 133
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyBundleFrameworkBundleTestsFunctionalapp;

// get the autoload file
$dir __DIR__;
$lastDir null;
while (
$dir !== $lastDir) {
    
$lastDir $dir;

    if (
file_exists($dir.'/autoload.php')) {
        require_once 
$dir.'/autoload.php';
        break;
    }

    if (
file_exists($dir.'/autoload.php.dist')) {
        require_once 
$dir.'/autoload.php.dist';
        break;
    }

    if (
file_exists($dir.'/vendor/autoload.php')) {
        require_once 
$dir.'/vendor/autoload.php';
        break;
    }

    
$dir dirname($dir);
}

use 
SymfonyComponentConfigLoaderLoaderInterface;
use 
SymfonyComponentFilesystemFilesystem;
use 
SymfonyComponentHttpKernelKernel;

/**
 * App Test Kernel for functional tests.
 *
 * @author Johannes M. Schmitt <schmittjoh@gmail.com>
 */
class AppKernel extends Kernel
{
    private 
$testCase;
    private 
$rootConfig;

    public function 
__construct($testCase$rootConfig$environment$debug)
    {
        if (!
is_dir(__DIR__.'/'.$testCase)) {
            throw new 
InvalidArgumentException(sprintf('The test case "%s" does not exist.'$testCase));
        }
        
$this->testCase $testCase;

        
$fs = new Filesystem();
        if (!
$fs->isAbsolutePath($rootConfig) && !file_exists($rootConfig __DIR__.'/'.$testCase.'/'.$rootConfig)) {
            throw new 
InvalidArgumentException(sprintf('The root config "%s" does not exist.'$rootConfig));
        }
        
$this->rootConfig $rootConfig;

        
parent::__construct($environment$debug);
    }

    public function 
registerBundles()
    {
        if (!
file_exists($filename $this->getRootDir().'/'.$this->testCase.'/bundles.php')) {
            throw new 
RuntimeException(sprintf('The bundles file "%s" does not exist.'$filename));
        }

        return include 
$filename;
    }

    public function 
getRootDir()
    {
        return 
__DIR__;
    }

    public function 
getCacheDir()
    {
        return 
sys_get_temp_dir().'/'.Kernel::VERSION.'/'.$this->testCase.'/cache/'.$this->environment;
    }

    public function 
getLogDir()
    {
        return 
sys_get_temp_dir().'/'.Kernel::VERSION.'/'.$this->testCase.'/logs';
    }

    public function 
registerContainerConfiguration(LoaderInterface $loader)
    {
        
$loader->load($this->rootConfig);
    }

    public function 
serialize()
    {
        return 
serialize(array($this->testCase$this->rootConfig$this->getEnvironment(), $this->isDebug()));
    }

    public function 
unserialize($str)
    {
        
$a unserialize($str);
        
$this->__construct($a[0], $a[1], $a[2], $a[3]);
    }

    protected function 
getKernelParameters()
    {
        
$parameters parent::getKernelParameters();
        
$parameters['kernel.test_case'] = $this->testCase;

        return 
$parameters;
    }
}
Онлайн: 0
Реклама