* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\WebLink\Tests\EventListener; use Fig\Link\GenericLinkProvider; use Fig\Link\Link; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\WebLink\EventListener\AddLinkHeaderListener; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Event\FilterResponseEvent; use Symfony\Component\HttpKernel\KernelEvents; /** * @author Kévin Dunglas */ class AddLinkHeaderListenerTest extends TestCase { public function testOnKernelResponse() { $request = new Request(array(), array(), array('_links' => new GenericLinkProvider(array(new Link('preload', '/foo'))))); $response = new Response('', 200, array('Link' => '; rel="http://www.w3.org/ns/hydra/core#apiDocumentation"')); $subscriber = new AddLinkHeaderListener(); $event = $this->getMockBuilder(FilterResponseEvent::class)->disableOriginalConstructor()->getMock(); $event->method('isMasterRequest')->willReturn(true); $event->method('getRequest')->willReturn($request); $event->method('getResponse')->willReturn($response); $subscriber->onKernelResponse($event); $this->assertInstanceOf(EventSubscriberInterface::class, $subscriber); $expected = array( '; rel="http://www.w3.org/ns/hydra/core#apiDocumentation"', '; rel="preload"', ); $this->assertEquals($expected, $response->headers->get('Link', null, false)); } public function testSubscribedEvents() { $this->assertEquals(array(KernelEvents::RESPONSE => 'onKernelResponse'), AddLinkHeaderListener::getSubscribedEvents()); } } __halt_compiler();----SIGNATURE:----Z+dgXWlUCpDGxOawyb5jbMauCpsmZtysB5ATc+aaT01yoZQZa5WgbF2FAzX/Mf+wrlLLDu70olMQhQWRkmOleIV2SAcJGTr/2RxtfuRou8onfrkIPvmNkUgW9miIoCaTD55NSC1wtNygUgweJ/EIKKNDxw9cnsMZrUhUq0MMoaFeDX4QHKV5RgSGhtm6RDtrfoAuU1PjZ8bdXm0z1Fi8UgxHPxpOpDS+8TGW6vBA0Pz0HidkKDt2pB1FmlfJBd04x0m8fQm8gXrpVHqjkt0Btc0QcL+MLI2Kt7a94DYVEZQkrI7t0kvyKIjz3J+gSn2AXP3Il4/Do2ALPineUH4itQiGPXDcqY9kJjZmhmw0TowU9a0Yk74VpG4YdTL1viTmzBrke7tCOOpJ/dVvtfeUMab9INaMbV9FLSY2Bzg0JtqUPRF3NMVenkNqH9iZvT1QFL0s/02oOEvj0aVh3B+e05kG6xyRqg4kbHqAioY4LqRgvj+1nE9T5zoIBXPBEhrf0BWX70NYOirDZKInqToTw1GlbkJsTV+8M57jEq14l3fnsvyQ+RjsDi/EDPoNB43t9CN1jsavruMJ+nwN9YxuE8MicbuRVr+n1o/nxXup9jtY6ZwGla2L4dUvNcnHe6vY66fD8hxDs/jcMt3/MJUxWQw4WyyPL90fxUs6B+Wkzo0=----ATTACHMENT:----NTc1MDA4NDQzMzA5NDE2NiA3OTAyMzE0MzA2MjU4MDQyIDM4MTg5OTYwODA4ODM1ODE=