Файл: symfony-2.7/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php
Строк: 177
<?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 SymfonyBundleWebProfilerBundleTestsController;
use SymfonyBundleWebProfilerBundleControllerProfilerController;
use SymfonyComponentHttpKernelProfilerProfile;
use SymfonyComponentHttpFoundationRequest;
class ProfilerControllerTest extends PHPUnit_Framework_TestCase
{
/**
* @dataProvider getEmptyTokenCases
*/
public function testEmptyToken($token)
{
$urlGenerator = $this->getMock('SymfonyComponentRoutingGeneratorUrlGeneratorInterface');
$twig = $this->getMock('Twig_Environment');
$profiler = $this
->getMockBuilder('SymfonyComponentHttpKernelProfilerProfiler')
->disableOriginalConstructor()
->getMock();
$controller = new ProfilerController($urlGenerator, $profiler, $twig, array());
$response = $controller->toolbarAction(Request::create('/_wdt/empty'), $token);
$this->assertEquals(200, $response->getStatusCode());
}
public function getEmptyTokenCases()
{
return array(
array(null),
// "empty" is also a valid empty token case, see https://github.com/symfony/symfony/issues/10806
array('empty'),
);
}
public function testReturns404onTokenNotFound()
{
$urlGenerator = $this->getMock('SymfonyComponentRoutingGeneratorUrlGeneratorInterface');
$twig = $this->getMock('Twig_Environment');
$profiler = $this
->getMockBuilder('SymfonyComponentHttpKernelProfilerProfiler')
->disableOriginalConstructor()
->getMock();
$controller = new ProfilerController($urlGenerator, $profiler, $twig, array());
$profiler
->expects($this->exactly(2))
->method('loadProfile')
->will($this->returnCallback(function ($token) {
if ('found' == $token) {
return new Profile($token);
}
return;
}))
;
$response = $controller->toolbarAction(Request::create('/_wdt/found'), 'found');
$this->assertEquals(200, $response->getStatusCode());
$response = $controller->toolbarAction(Request::create('/_wdt/notFound'), 'notFound');
$this->assertEquals(404, $response->getStatusCode());
}
public function testSearchResult()
{
$urlGenerator = $this->getMock('SymfonyComponentRoutingGeneratorUrlGeneratorInterface');
$twig = $this->getMock('Twig_Environment');
$profiler = $this
->getMockBuilder('SymfonyComponentHttpKernelProfilerProfiler')
->disableOriginalConstructor()
->getMock();
$controller = new ProfilerController($urlGenerator, $profiler, $twig, array());
$tokens = array(
array(
'token' => 'token1',
'ip' => '127.0.0.1',
'method' => 'GET',
'url' => 'http://example.com/',
'time' => 0,
'parent' => null,
'status_code' => 200,
),
array(
'token' => 'token2',
'ip' => '127.0.0.1',
'method' => 'GET',
'url' => 'http://example.com/not_found',
'time' => 0,
'parent' => null,
'status_code' => 404,
),
);
$profiler
->expects($this->once())
->method('find')
->will($this->returnValue($tokens));
$twig->expects($this->once())
->method('render')
->with($this->stringEndsWith('results.html.twig'), $this->equalTo(array(
'token' => 'empty',
'profile' => null,
'tokens' => $tokens,
'ip' => '127.0.0.1',
'method' => 'GET',
'url' => 'http://example.com/',
'start' => null,
'end' => null,
'limit' => 2,
'panel' => null,
)));
$response = $controller->searchResultsAction(
Request::create(
'/_profiler/empty/search/results',
'GET',
array('limit' => 2, 'ip' => '127.0.0.1', 'method' => 'GET', 'url' => 'http://example.com/')
),
'empty'
);
$this->assertEquals(200, $response->getStatusCode());
}
}