You are here

class FragmentHandlerTest in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php \Symfony\Component\HttpKernel\Tests\Fragment\FragmentHandlerTest

Hierarchy

  • class \Symfony\Component\HttpKernel\Tests\Fragment\FragmentHandlerTest extends \Symfony\Component\HttpKernel\Tests\Fragment\PHPUnit_Framework_TestCase

Expanded class hierarchy of FragmentHandlerTest

File

vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php, line 18

Namespace

Symfony\Component\HttpKernel\Tests\Fragment
View source
class FragmentHandlerTest extends \PHPUnit_Framework_TestCase {
  private $requestStack;
  protected function setUp() {
    $this->requestStack = $this
      ->getMockBuilder('Symfony\\Component\\HttpFoundation\\RequestStack')
      ->disableOriginalConstructor()
      ->getMock();
    $this->requestStack
      ->expects($this
      ->any())
      ->method('getCurrentRequest')
      ->will($this
      ->returnValue(Request::create('/')));
  }

  /**
   * @expectedException \InvalidArgumentException
   */
  public function testRenderWhenRendererDoesNotExist() {
    $handler = new FragmentHandler(array(), null, $this->requestStack);
    $handler
      ->render('/', 'foo');
  }

  /**
   * @expectedException \InvalidArgumentException
   */
  public function testRenderWithUnknownRenderer() {
    $handler = $this
      ->getHandler($this
      ->returnValue(new Response('foo')));
    $handler
      ->render('/', 'bar');
  }

  /**
   * @expectedException \RuntimeException
   * @expectedExceptionMessage Error when rendering "http://localhost/" (Status code is 404).
   */
  public function testDeliverWithUnsuccessfulResponse() {
    $handler = $this
      ->getHandler($this
      ->returnValue(new Response('foo', 404)));
    $handler
      ->render('/', 'foo');
  }
  public function testRender() {
    $handler = $this
      ->getHandler($this
      ->returnValue(new Response('foo')), array(
      '/',
      Request::create('/'),
      array(
        'foo' => 'foo',
        'ignore_errors' => true,
      ),
    ));
    $this
      ->assertEquals('foo', $handler
      ->render('/', 'foo', array(
      'foo' => 'foo',
    )));
  }
  protected function getHandler($returnValue, $arguments = array()) {
    $renderer = $this
      ->getMock('Symfony\\Component\\HttpKernel\\Fragment\\FragmentRendererInterface');
    $renderer
      ->expects($this
      ->any())
      ->method('getName')
      ->will($this
      ->returnValue('foo'));
    $e = $renderer
      ->expects($this
      ->any())
      ->method('render')
      ->will($returnValue);
    if ($arguments) {
      call_user_func_array(array(
        $e,
        'with',
      ), $arguments);
    }
    $handler = new FragmentHandler(array(), null, $this->requestStack);
    $handler
      ->addRenderer($renderer);
    return $handler;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
FragmentHandlerTest::$requestStack private property
FragmentHandlerTest::getHandler protected function
FragmentHandlerTest::setUp protected function
FragmentHandlerTest::testDeliverWithUnsuccessfulResponse public function @expectedException \RuntimeException @expectedExceptionMessage Error when rendering "http://localhost/" (Status code is 404).
FragmentHandlerTest::testRender public function
FragmentHandlerTest::testRenderWhenRendererDoesNotExist public function @expectedException \InvalidArgumentException
FragmentHandlerTest::testRenderWithUnknownRenderer public function @expectedException \InvalidArgumentException