Вход Регистрация
Файл: symfony-2.7/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/PhpEngineTest.php
Строк: 178
<?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 SymfonyBundleFrameworkBundleTestsTemplating;

use 
SymfonyBundleFrameworkBundleTemplatingPhpEngine;
use 
SymfonyComponentDependencyInjectionContainer;
use 
SymfonyComponentHttpFoundationRequest;
use 
SymfonyComponentHttpFoundationRequestStack;
use 
SymfonyComponentHttpFoundationSessionSession;
use 
SymfonyComponentHttpFoundationSessionStorageMockArraySessionStorage;
use 
SymfonyComponentTemplatingTemplateNameParser;
use 
SymfonyBundleFrameworkBundleTemplatingGlobalVariables;
use 
SymfonyBundleFrameworkBundleTestsTestCase;

class 
PhpEngineTest extends TestCase
{
    public function 
testEvaluateAddsAppGlobal()
    {
        
$container $this->getContainer();
        
$loader $this->getMockForAbstractClass('SymfonyComponentTemplatingLoaderLoader');
        
$engine = new PhpEngine(new TemplateNameParser(), $container$loader$app = new GlobalVariables($container));
        
$globals $engine->getGlobals();
        
$this->assertSame($app$globals['app']);
    }

    public function 
testEvaluateWithoutAvailableRequest()
    {
        
$container = new Container();
        
$loader $this->getMockForAbstractClass('SymfonyComponentTemplatingLoaderLoader');
        
$engine = new PhpEngine(new TemplateNameParser(), $container$loader, new GlobalVariables($container));

        
$container->set('request_stack'null);

        
$globals $engine->getGlobals();
        
$this->assertEmpty($globals['app']->getRequest());
    }

    
/**
     * @expectedException InvalidArgumentException
     */
    
public function testGetInvalidHelper()
    {
        
$container $this->getContainer();
        
$loader $this->getMockForAbstractClass('SymfonyComponentTemplatingLoaderLoader');
        
$engine = new PhpEngine(new TemplateNameParser(), $container$loader);

        
$engine->get('non-existing-helper');
    }

    
/**
     * Creates a Container with a Session-containing Request service.
     *
     * @return Container
     */
    
protected function getContainer()
    {
        
$container = new Container();
        
$session = new Session(new MockArraySessionStorage());
        
$request = new Request();
        
$stack = new RequestStack();
        
$stack->push($request);

        
$request->setSession($session);
        
$container->set('request_stack'$stack);

        return 
$container;
    }
}
Онлайн: 2
Реклама