Merge branch '3.4'
* 3.4: fixed tests swiftmailer bridge is gone respect the API in FirewallContext map [TwigBundle] add back exception check Dont call count on non countable object Fix undefined variable $filesystem
This commit is contained in:
commit
4cd4cb4515
@ -158,7 +158,7 @@ EOT
|
||||
// remove the assets of the bundles that no longer exist
|
||||
foreach (new \FilesystemIterator($bundlesDir) as $dir) {
|
||||
if (!in_array($dir, $validAssetDirs)) {
|
||||
$filesystem->remove($dir);
|
||||
$this->filesystem->remove($dir);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -12,11 +12,15 @@
|
||||
namespace Symfony\Bundle\SecurityBundle\Tests\Security;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Symfony\Bundle\SecurityBundle\Security\FirewallConfig;
|
||||
use Symfony\Bundle\SecurityBundle\Security\FirewallContext;
|
||||
use Symfony\Bundle\SecurityBundle\Security\FirewallMap;
|
||||
use Symfony\Component\DependencyInjection\Container;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\RequestMatcherInterface;
|
||||
use Symfony\Component\Security\Core\User\UserCheckerInterface;
|
||||
use Symfony\Component\Security\Http\Firewall\ExceptionListener;
|
||||
use Symfony\Component\Security\Http\Firewall\ListenerInterface;
|
||||
|
||||
class FirewallMapTest extends TestCase
|
||||
{
|
||||
@ -58,9 +62,15 @@ class FirewallMapTest extends TestCase
|
||||
$request = new Request();
|
||||
|
||||
$firewallContext = $this->getMockBuilder(FirewallContext::class)->disableOriginalConstructor()->getMock();
|
||||
$firewallContext->expects($this->once())->method('getConfig')->willReturn('CONFIG');
|
||||
$firewallContext->expects($this->once())->method('getListeners')->willReturn('LISTENERS');
|
||||
$firewallContext->expects($this->once())->method('getExceptionListener')->willReturn('EXCEPTION LISTENER');
|
||||
|
||||
$firewallConfig = new FirewallConfig('main', $this->getMockBuilder(UserCheckerInterface::class)->getMock());
|
||||
$firewallContext->expects($this->once())->method('getConfig')->willReturn($firewallConfig);
|
||||
|
||||
$listener = $this->getMockBuilder(ListenerInterface::class)->getMock();
|
||||
$firewallContext->expects($this->once())->method('getListeners')->willReturn(array($listener));
|
||||
|
||||
$exceptionListener = $this->getMockBuilder(ExceptionListener::class)->disableOriginalConstructor()->getMock();
|
||||
$firewallContext->expects($this->once())->method('getExceptionListener')->willReturn($exceptionListener);
|
||||
|
||||
$matcher = $this->getMockBuilder(RequestMatcherInterface::class)->getMock();
|
||||
$matcher->expects($this->once())
|
||||
@ -73,8 +83,8 @@ class FirewallMapTest extends TestCase
|
||||
|
||||
$firewallMap = new FirewallMap($container, array('security.firewall.map.context.foo' => $matcher));
|
||||
|
||||
$this->assertEquals(array('LISTENERS', 'EXCEPTION LISTENER'), $firewallMap->getListeners($request));
|
||||
$this->assertEquals('CONFIG', $firewallMap->getFirewallConfig($request));
|
||||
$this->assertEquals(array(array($listener), $exceptionListener), $firewallMap->getListeners($request));
|
||||
$this->assertEquals($firewallConfig, $firewallMap->getFirewallConfig($request));
|
||||
$this->assertEquals('security.firewall.map.context.foo', $request->attributes->get(self::ATTRIBUTE_FIREWALL_CONTEXT));
|
||||
}
|
||||
}
|
||||
|
@ -123,7 +123,7 @@ class ExceptionController
|
||||
// default to a generic HTML exception
|
||||
$request->setRequestFormat('html');
|
||||
|
||||
return sprintf('@Twig/Exception/%s.html.twig', $name);
|
||||
return sprintf('@Twig/Exception/%s.html.twig', $showException ? 'exception_full' : $name);
|
||||
}
|
||||
|
||||
// to be removed when the minimum required version of Twig is >= 3.0
|
||||
|
@ -48,6 +48,20 @@ class ExceptionControllerTest extends TestCase
|
||||
$this->assertEquals('html', $request->getRequestFormat());
|
||||
}
|
||||
|
||||
public function testFallbackToHtmlWithFullExceptionIfNoTemplateForRequestedFormatAndExceptionsShouldBeShown()
|
||||
{
|
||||
$twig = $this->createTwigEnv(array('@Twig/Exception/exception_full.html.twig' => '<html></html>'));
|
||||
|
||||
$request = $this->createRequest('txt');
|
||||
$request->attributes->set('showException', true);
|
||||
$exception = FlattenException::create(new \Exception());
|
||||
$controller = new ExceptionController($twig, false);
|
||||
|
||||
$controller->showAction($request, $exception);
|
||||
|
||||
$this->assertEquals('html', $request->getRequestFormat());
|
||||
}
|
||||
|
||||
public function testResponseHasRequestedMimeType()
|
||||
{
|
||||
$twig = $this->createTwigEnv(array('@Twig/Exception/error.json.twig' => '{}'));
|
||||
|
@ -52,7 +52,7 @@ class IcuResFileDumper extends FileDumper
|
||||
|
||||
$resOffset = $this->getPosition($data);
|
||||
|
||||
$data .= pack('v', count($messages))
|
||||
$data .= pack('v', count($messages->all($domain)))
|
||||
.$indexes
|
||||
.$this->writePadding($data)
|
||||
.$resources
|
||||
@ -63,11 +63,11 @@ class IcuResFileDumper extends FileDumper
|
||||
$root = pack('V7',
|
||||
$resOffset + (2 << 28), // Resource Offset + Resource Type
|
||||
6, // Index length
|
||||
$keyTop, // Index keys top
|
||||
$bundleTop, // Index resources top
|
||||
$bundleTop, // Index bundle top
|
||||
count($messages), // Index max table length
|
||||
0 // Index attributes
|
||||
$keyTop, // Index keys top
|
||||
$bundleTop, // Index resources top
|
||||
$bundleTop, // Index bundle top
|
||||
count($messages->all($domain)), // Index max table length
|
||||
0 // Index attributes
|
||||
);
|
||||
|
||||
$header = pack('vC2v4C12@32',
|
||||
|
Reference in New Issue
Block a user