4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\HttpKernel\Tests\EventListener;
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\HttpKernel\EventListener\AddRequestFormatsListener;
16 use Symfony\Component\HttpFoundation\Request;
17 use Symfony\Component\HttpKernel\KernelEvents;
20 * Test AddRequestFormatsListener class.
22 * @author Gildas Quemener <gildas.quemener@gmail.com>
24 class AddRequestFormatsListenerTest extends TestCase
27 * @var AddRequestFormatsListener
31 protected function setUp()
33 $this->listener = new AddRequestFormatsListener(array('csv' => array('text/csv', 'text/plain')));
36 protected function tearDown()
38 $this->listener = null;
41 public function testIsAnEventSubscriber()
43 $this->assertInstanceOf('Symfony\Component\EventDispatcher\EventSubscriberInterface', $this->listener);
46 public function testRegisteredEvent()
49 array(KernelEvents::REQUEST => array('onKernelRequest', 1)),
50 AddRequestFormatsListener::getSubscribedEvents()
54 public function testSetAdditionalFormats()
56 $request = $this->getRequestMock();
57 $event = $this->getGetResponseEventMock($request);
59 $request->expects($this->once())
61 ->with('csv', array('text/csv', 'text/plain'));
63 $this->listener->onKernelRequest($event);
66 protected function getRequestMock()
68 return $this->getMockBuilder('Symfony\Component\HttpFoundation\Request')->getMock();
71 protected function getGetResponseEventMock(Request $request)
74 ->getMockBuilder('Symfony\Component\HttpKernel\Event\GetResponseEvent')
75 ->disableOriginalConstructor()
78 $event->expects($this->any())
79 ->method('getRequest')
80 ->will($this->returnValue($request));