This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/TimedPhpEngineTest.php

117 lines
3.5 KiB
PHP
Raw Normal View History

<?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 Symfony\Bundle\FrameworkBundle\Tests\Templating;
use Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables;
2018-07-26 10:03:18 +01:00
use Symfony\Bundle\FrameworkBundle\Templating\TimedPhpEngine;
use Symfony\Bundle\FrameworkBundle\Tests\TestCase;
2018-07-26 10:03:18 +01:00
use Symfony\Component\DependencyInjection\Container;
class TimedPhpEngineTest extends TestCase
{
public function testThatRenderLogsTime()
{
$container = $this->getContainer();
$templateNameParser = $this->getTemplateNameParser();
$globalVariables = $this->getGlobalVariables();
$loader = $this->getLoader($this->getStorage());
$stopwatch = $this->getStopwatch();
$stopwatchEvent = $this->getStopwatchEvent();
$stopwatch->expects($this->once())
->method('start')
->with('template.php (index.php)', 'template')
->will($this->returnValue($stopwatchEvent));
$stopwatchEvent->expects($this->once())->method('stop');
$engine = new TimedPhpEngine($templateNameParser, $container, $loader, $stopwatch, $globalVariables);
$engine->render('index.php');
}
/**
* @return Container
*/
private function getContainer()
{
2016-12-19 09:02:29 +00:00
return $this->getMockBuilder('Symfony\Component\DependencyInjection\Container')->getMock();
}
/**
* @return \Symfony\Component\Templating\TemplateNameParserInterface
*/
private function getTemplateNameParser()
{
2016-12-19 09:02:29 +00:00
$templateReference = $this->getMockBuilder('Symfony\Component\Templating\TemplateReferenceInterface')->getMock();
$templateNameParser = $this->getMockBuilder('Symfony\Component\Templating\TemplateNameParserInterface')->getMock();
$templateNameParser->expects($this->any())
->method('parse')
->will($this->returnValue($templateReference));
return $templateNameParser;
}
/**
* @return GlobalVariables
*/
private function getGlobalVariables()
{
return $this->getMockBuilder('Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables')
->disableOriginalConstructor()
->getMock();
}
/**
* @return \Symfony\Component\Templating\Storage\StringStorage
*/
private function getStorage()
{
return $this->getMockBuilder('Symfony\Component\Templating\Storage\StringStorage')
->disableOriginalConstructor()
->getMockForAbstractClass();
}
/**
* @param \Symfony\Component\Templating\Storage\StringStorage $storage
*
* @return \Symfony\Component\Templating\Loader\Loader
*/
private function getLoader($storage)
{
$loader = $this->getMockForAbstractClass('Symfony\Component\Templating\Loader\Loader');
$loader->expects($this->once())
->method('load')
->will($this->returnValue($storage));
return $loader;
}
/**
* @return \Symfony\Component\Stopwatch\StopwatchEvent
*/
private function getStopwatchEvent()
{
return $this->getMockBuilder('Symfony\Component\Stopwatch\StopwatchEvent')
->disableOriginalConstructor()
->getMock();
}
/**
* @return \Symfony\Component\Stopwatch\Stopwatch
*/
private function getStopwatch()
{
2016-12-19 09:02:29 +00:00
return $this->getMockBuilder('Symfony\Component\Stopwatch\Stopwatch')->getMock();
}
}