diff --git a/.travis.yml b/.travis.yml index b18bcca..c3e2a9e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,9 +24,12 @@ matrix: env: SYMFONY_VERSION='2.8.*' - php: 7.1 env: SYMFONY_VERSION='^3.0' + - php: 7.1 + env: DEPENDENCIES=beta before_install: - composer self-update + - if [ "$DEPENDENCIES" = "beta" ]; then composer config minimum-stability beta; fi; - if [ "$SYMFONY_VERSION" != "" ]; then composer require --dev symfony/framework-bundle:${SYMFONY_VERSION} --no-update; fi install: composer update $COMPOSER_FLAGS diff --git a/Tests/EventListener/MaintenanceListenerTest.php b/Tests/EventListener/MaintenanceListenerTest.php index 320392d..e4af51a 100644 --- a/Tests/EventListener/MaintenanceListenerTest.php +++ b/Tests/EventListener/MaintenanceListenerTest.php @@ -3,14 +3,13 @@ namespace Lexik\Bundle\MaintenanceBundle\Tests\EventListener; use Lexik\Bundle\MaintenanceBundle\Drivers\DriverFactory; - -use Symfony\Bundle\FrameworkBundle\Translation\Translator; +use Lexik\Bundle\MaintenanceBundle\Tests\TestHelper; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpKernel\HttpKernelInterface; -use Symfony\Component\HttpKernel\Kernel; +use Symfony\Component\Translation\MessageSelector; /** * Test for the maintenance listener @@ -34,7 +33,7 @@ public function testBaseRequest() $driverOptions = array('class' => DriverFactory::DATABASE_DRIVER, 'options' => null); $request = Request::create('http://test.com/foo?bar=baz'); - $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); + $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $this->container = $this->initContainer(); @@ -68,7 +67,7 @@ public function testPathFilter() $driverOptions = array('class' => DriverFactory::DATABASE_DRIVER, 'options' => null); $request = Request::create('http://test.com/foo?bar=baz'); - $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); + $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $this->container = $this->initContainer(); @@ -99,7 +98,7 @@ public function testHostFilter() $driverOptions = array('class' => DriverFactory::DATABASE_DRIVER, 'options' => null); $request = Request::create('http://test.com/foo?bar=baz'); - $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); + $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $this->container = $this->initContainer(); @@ -133,7 +132,7 @@ public function testIPFilter() $driverOptions = array('class' => DriverFactory::DATABASE_DRIVER, 'options' => null); $request = Request::create('http://test.com/foo?bar=baz'); - $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); + $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $this->container = $this->initContainer(); @@ -167,7 +166,7 @@ public function testRouteFilter($debug, $route, $expected) $request = Request::create(''); $request->attributes->set('_route', $route); - $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); + $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $this->container = $this->initContainer(); @@ -214,7 +213,7 @@ public function testQueryFilter() $request = Request::create('http://test.com/foo?bar=baz'); $postRequest = Request::create('http://test.com/foo?bar=baz', 'POST'); - $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); + $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $postEvent = new GetResponseEvent($kernel, $postRequest, HttpKernelInterface::MASTER_REQUEST); @@ -255,7 +254,7 @@ public function testCookieFilter() $driverOptions = array('class' => DriverFactory::DATABASE_DRIVER, 'options' => null); $request = Request::create('http://test.com/foo', 'GET', array(), array('bar' => 'baz')); - $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'); + $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST); $this->container = $this->initContainer(); @@ -338,19 +337,11 @@ protected function getDatabaseDriver($lock = false) */ public function getTranslator() { - if (Kernel::VERSION_ID < 30300) { - $translator = new Translator( - $this->container, - $this->getMock('Symfony\Component\Translation\MessageSelector') - ); - } else { - $translator = new Translator( - $this->container, - $this->getMock('Symfony\Component\Translation\MessageSelector'), - 'en' - ); - } + /** @var MessageSelector|\PHPUnit_Framework_MockObject_MockObject $messageSelector */ + $messageSelector = $this->getMockBuilder('Symfony\Component\Translation\MessageSelector') + ->disableOriginalConstructor() + ->getMock(); - return $translator; + return TestHelper::getTranslator($this->container, $messageSelector); } } diff --git a/Tests/Maintenance/DriverFactoryTest.php b/Tests/Maintenance/DriverFactoryTest.php index 91b36c0..2139aa1 100644 --- a/Tests/Maintenance/DriverFactoryTest.php +++ b/Tests/Maintenance/DriverFactoryTest.php @@ -2,11 +2,11 @@ namespace Lexik\Bundle\MaintenanceBundle\Tests\Maintenance; +use Lexik\Bundle\MaintenanceBundle\Drivers\DriverFactory; +use Lexik\Bundle\MaintenanceBundle\Tests\TestHelper; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Bundle\FrameworkBundle\Translation\Translator; -use Lexik\Bundle\MaintenanceBundle\Drivers\DriverFactory; -use Symfony\Component\HttpKernel\Kernel; +use Symfony\Component\Translation\MessageSelector; /** * Test driver factory @@ -102,19 +102,11 @@ protected function getDatabaseDriver() public function getTranslator() { - if (Kernel::VERSION_ID < 30300) { - $translator = new Translator( - $this->container, - $this->getMock('Symfony\Component\Translation\MessageSelector') - ); - } else { - $translator = new Translator( - $this->container, - $this->getMock('Symfony\Component\Translation\MessageSelector'), - 'en' - ); - } + /** @var MessageSelector|\PHPUnit_Framework_MockObject_MockObject $messageSelector */ + $messageSelector = $this->getMockBuilder('Symfony\Component\Translation\MessageSelector') + ->disableOriginalConstructor() + ->getMock(); - return $translator; + return TestHelper::getTranslator($this->container, $messageSelector); } } diff --git a/Tests/Maintenance/FileMaintenanceTest.php b/Tests/Maintenance/FileMaintenanceTest.php index 8dc61c0..de674f2 100644 --- a/Tests/Maintenance/FileMaintenanceTest.php +++ b/Tests/Maintenance/FileMaintenanceTest.php @@ -3,11 +3,10 @@ namespace Lexik\Bundle\MaintenanceBundle\Tests\Maintenance; use Lexik\Bundle\MaintenanceBundle\Drivers\FileDriver; - -use Symfony\Bundle\FrameworkBundle\Translation\Translator; +use Lexik\Bundle\MaintenanceBundle\Tests\TestHelper; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; -use Symfony\Component\HttpKernel\Kernel; +use Symfony\Component\Translation\MessageSelector; /** * Test driver file @@ -135,19 +134,11 @@ protected function initContainer() public function getTranslator() { - if (Kernel::VERSION_ID < 30300) { - $translator = new Translator( - $this->container, - $this->getMock('Symfony\Component\Translation\MessageSelector') - ); - } else { - $translator = new Translator( - $this->container, - $this->getMock('Symfony\Component\Translation\MessageSelector'), - 'en' - ); - } - - return $translator; + /** @var MessageSelector|\PHPUnit_Framework_MockObject_MockObject $messageSelector */ + $messageSelector = $this->getMockBuilder('Symfony\Component\Translation\MessageSelector') + ->disableOriginalConstructor() + ->getMock(); + + return TestHelper::getTranslator($this->container, $messageSelector); } } diff --git a/Tests/TestHelper.php b/Tests/TestHelper.php new file mode 100644 index 0000000..4d5c382 --- /dev/null +++ b/Tests/TestHelper.php @@ -0,0 +1,39 @@ += 30300 && Kernel::VERSION_ID < 40000) { + // symfony 3 + $translator = new Translator( + $container, + $messageSelector, + 'en' + ); + } else { + // symfony 4 + $translator = new Translator( + $container, + new MessageFormatter($messageSelector), + 'en' + ); + } + + return $translator; + } +} diff --git a/composer.json b/composer.json index 2c261a0..e6918d1 100644 --- a/composer.json +++ b/composer.json @@ -21,12 +21,12 @@ ], "require": { "php": ">=5.3.9", - "symfony/framework-bundle": "~2.7|~3.0", - "symfony/translation": "~2.7|~3.0" + "symfony/framework-bundle": "~2.7|~3.0|^4.0", + "symfony/translation": "~2.7|~3.0|^4.0" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7|~3.0", - "phpunit/phpunit": "~4.8" + "symfony/phpunit-bridge": "~2.7|~3.0|^4.0", + "phpunit/phpunit": "~4.8|~5.0" }, "autoload": { "psr-4": { "Lexik\\Bundle\\MaintenanceBundle\\": "" }