From 1f3c20c2c2490105d907ddce668fc488cb7bd92b Mon Sep 17 00:00:00 2001 From: daFish81 Date: Fri, 6 Mar 2026 13:42:36 +0100 Subject: [PATCH] build(deps): allow symfony 8 --- composer.json | 21 ++++++++++--------- tests/ReflectionTrait.php | 9 ++------ .../Filter/DoctrineOrmFilterHandlerTest.php | 14 +++++++++---- .../Orm/Fixtures/TestEntityManagerFactory.php | 4 ++++ 4 files changed, 27 insertions(+), 21 deletions(-) diff --git a/composer.json b/composer.json index 7ad9681f..2970177f 100755 --- a/composer.json +++ b/composer.json @@ -14,29 +14,30 @@ "license": "MIT", "require": { "php": "^8.1", - "symfony/framework-bundle": "^6.0|^7.0", - "symfony/translation": "^6.0|^7.0", - "symfony/form": "^6.0|^7.0", - "symfony/mime": "^6.0|^7.0", - "symfony/twig-bundle": "^6.0|^7.0", + "symfony/framework-bundle": "^6.0|^7.0|^8.0", + "symfony/translation": "^6.0|^7.0|^8.0", + "symfony/form": "^6.0|^7.0|^8.0", + "symfony/mime": "^6.0|^7.0|^8.0", + "symfony/twig-bundle": "^6.0|^7.0|^8.0", "twig/extra-bundle": "^3.6", "twig/intl-extra": "^3.6", - "symfony/validator": "^6.0|^7.0" + "symfony/validator": "^6.0|^7.0|^8.0" }, "require-dev": { "roave/security-advisories": "dev-latest", "friendsofphp/php-cs-fixer": "^3.49", "kubawerlos/php-cs-fixer-custom-fixers": "^3.11", "symfony/maker-bundle": "^1.48", - "symfony/security-core": "^6.2|^7.0", + "symfony/security-core": "^6.2|^7.0|^8.0", "phpoffice/phpspreadsheet": "^1.28", - "doctrine/orm": "^2.15", - "doctrine/doctrine-bundle": "^2.9", + "doctrine/orm": "^2.15|^3.0", + "doctrine/doctrine-bundle": "^2.9|^3.0", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^10.4", "dg/bypass-finals": "dev-master", "openspout/openspout": "^4.23", - "symfony/http-foundation": "^6.0|^7.0" + "symfony/http-foundation": "^6.0|^7.0|^8.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "autoload": { "psr-4": { diff --git a/tests/ReflectionTrait.php b/tests/ReflectionTrait.php index db452ce3..27f67053 100644 --- a/tests/ReflectionTrait.php +++ b/tests/ReflectionTrait.php @@ -8,16 +8,11 @@ trait ReflectionTrait { private function getPrivatePropertyValue(object $object, string $property): mixed { - $reflection = new \ReflectionProperty($object, $property); - $reflection->setAccessible(true); - - return $reflection->getValue($object); + return (new \ReflectionProperty($object, $property))->getValue($object); } private function setPrivatePropertyValue(object $object, string $property, mixed $value): void { - $reflection = new \ReflectionProperty($object, $property); - $reflection->setAccessible(true); - $reflection->setValue($object, $value); + (new \ReflectionProperty($object, $property))->setValue($object, $value); } } diff --git a/tests/Unit/Bridge/Doctrine/Orm/Filter/DoctrineOrmFilterHandlerTest.php b/tests/Unit/Bridge/Doctrine/Orm/Filter/DoctrineOrmFilterHandlerTest.php index f4cce4a4..7bc951f0 100644 --- a/tests/Unit/Bridge/Doctrine/Orm/Filter/DoctrineOrmFilterHandlerTest.php +++ b/tests/Unit/Bridge/Doctrine/Orm/Filter/DoctrineOrmFilterHandlerTest.php @@ -60,8 +60,10 @@ public function testItAppliesExpression(): void ($queryBuilder = $this->createQueryBuilderMock()) ->expects($this->once()) ->method('andWhere') - ->willReturnCallback(function (mixed $expression) { + ->willReturnCallback(function (mixed $expression) use (&$queryBuilder) { $this->assertEquals('expression', $expression); + + return $queryBuilder; }); $this->query->method('getQueryBuilder')->willReturn($queryBuilder); @@ -74,10 +76,12 @@ public function testItSetsParameterWithoutTypeSpecified(): void ($queryBuilder = $this->createQueryBuilderMock()) ->expects($this->once()) ->method('setParameter') - ->willReturnCallback(function ($name, $value, $type) { + ->willReturnCallback(function ($name, $value, $type) use (&$queryBuilder) { $this->assertEquals('foo', $name); $this->assertEquals('bar', $value); $this->assertNull($type); + + return $queryBuilder; }); $this->query->method('getQueryBuilder')->willReturn($queryBuilder); @@ -85,15 +89,17 @@ public function testItSetsParameterWithoutTypeSpecified(): void $this->createHandler(parameters: [new Parameter('foo', 'bar')])->handle($this->query, $this->data, $this->filter); } - public function testItSetsParameterWithTypeSpecified() + public function testItSetsParameterWithTypeSpecified(): void { ($queryBuilder = $this->createQueryBuilderMock()) ->expects($this->once()) ->method('setParameter') - ->willReturnCallback(function ($name, $value, $type) { + ->willReturnCallback(function ($name, $value, $type) use (&$queryBuilder) { $this->assertEquals('foo', $name); $this->assertEquals('bar', $value); $this->assertEquals('date_immutable', $type); + + return $queryBuilder; }); $this->query->method('getQueryBuilder')->willReturn($queryBuilder); diff --git a/tests/Unit/Bridge/Doctrine/Orm/Fixtures/TestEntityManagerFactory.php b/tests/Unit/Bridge/Doctrine/Orm/Fixtures/TestEntityManagerFactory.php index f5f612db..7112268e 100644 --- a/tests/Unit/Bridge/Doctrine/Orm/Fixtures/TestEntityManagerFactory.php +++ b/tests/Unit/Bridge/Doctrine/Orm/Fixtures/TestEntityManagerFactory.php @@ -21,6 +21,10 @@ public static function create(): EntityManagerInterface $config = ORMSetup::createAttributeMetadataConfiguration([], true); + if (PHP_VERSION_ID >= 80400 && method_exists($config, 'enableNativeLazyObjects')) { + $config->enableNativeLazyObjects(true); + } + $connection = DriverManager::getConnection([ 'driver' => 'pdo_sqlite', 'memory' => true,