You are here

LazyLoadingFragmentHandlerTest.php in Zircon Profile 8

File

vendor/symfony/http-kernel/Tests/DependencyInjection/LazyLoadingFragmentHandlerTest.php
View source
<?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\Component\HttpKernel\Tests\DependencyInjection;

use Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class LazyLoadingFragmentHandlerTest extends \PHPUnit_Framework_TestCase {
  public function test() {
    $renderer = $this
      ->getMock('Symfony\\Component\\HttpKernel\\Fragment\\FragmentRendererInterface');
    $renderer
      ->expects($this
      ->once())
      ->method('getName')
      ->will($this
      ->returnValue('foo'));
    $renderer
      ->expects($this
      ->any())
      ->method('render')
      ->will($this
      ->returnValue(new Response()));
    $requestStack = $this
      ->getMock('Symfony\\Component\\HttpFoundation\\RequestStack');
    $requestStack
      ->expects($this
      ->any())
      ->method('getCurrentRequest')
      ->will($this
      ->returnValue(Request::create('/')));
    $container = $this
      ->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface');
    $container
      ->expects($this
      ->once())
      ->method('get')
      ->will($this
      ->returnValue($renderer));
    $handler = new LazyLoadingFragmentHandler($container, false, $requestStack);
    $handler
      ->addRendererService('foo', 'foo');
    $handler
      ->render('/foo', 'foo');

    // second call should not lazy-load anymore (see once() above on the get() method)
    $handler
      ->render('/foo', 'foo');
  }

}

Classes