コード例 #1
0
 /**
  * Tests that existing headers are not overriden.
  */
 public function testHeadersAreNotOverridenIfAlreadyPresentInResponse()
 {
     $response = new Response();
     $response->headers->set('FOOBAR', 'content');
     $responseEvent = new FilterResponseEvent($this->mockKernel(), new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
     /** @var ContaoFrameworkInterface|\PHPUnit_Framework_MockObject_MockObject $framework */
     $framework = $this->getMock('Contao\\CoreBundle\\Framework\\ContaoFrameworkInterface');
     $framework->expects($this->once())->method('isInitialized')->willReturn(true);
     $listener = new MergeHttpHeadersListener($framework);
     $listener->setHeaders(['FOOBAR: new-content']);
     $listener->onKernelResponse($responseEvent);
     $response = $responseEvent->getResponse();
     $this->assertTrue($response->headers->has('FOOBAR'));
     $allHeaders = $response->headers->get('FOOBAR', null, false);
     $this->assertSame('content', $allHeaders[0]);
     $this->assertSame('new-content', $allHeaders[1]);
 }
コード例 #2
0
 /**
  * Tests that multi-value headers can be added and removed.
  */
 public function testAddingAndRemovingMultiHeaders()
 {
     $listener = new MergeHttpHeadersListener($this->mockContaoFramework());
     $this->assertEquals($listener->getMultiHeaders(), ['set-cookie', 'link', 'vary', 'pragma', 'cache-control']);
     $listener->removeMultiHeader('cache-control');
     $this->assertEquals($listener->getMultiHeaders(), ['set-cookie', 'link', 'vary', 'pragma']);
     $listener->addMultiHeader('dummy');
     $this->assertEquals($listener->getMultiHeaders(), ['set-cookie', 'link', 'vary', 'pragma', 'dummy']);
     $listener->setMultiHeader(['set-cookie', 'link', 'vary', 'pragma', 'cache-control']);
     $this->assertEquals($listener->getMultiHeaders(), ['set-cookie', 'link', 'vary', 'pragma', 'cache-control']);
 }