diff --git a/tests/Type/Doctrine/QueryBuilder/QueryBuilderGetQueryDynamicReturnTypeExtensionTest.php b/tests/Type/Doctrine/QueryBuilder/QueryBuilderGetQueryDynamicReturnTypeExtensionTest.php index ac653713..2107951f 100644 --- a/tests/Type/Doctrine/QueryBuilder/QueryBuilderGetQueryDynamicReturnTypeExtensionTest.php +++ b/tests/Type/Doctrine/QueryBuilder/QueryBuilderGetQueryDynamicReturnTypeExtensionTest.php @@ -12,6 +12,7 @@ public function dataFileAsserts(): iterable { yield from $this->gatherAssertTypes(__DIR__ . '/../data/QueryResult/queryBuilderGetQuery.php'); yield from $this->gatherAssertTypes(__DIR__ . '/../data/QueryResult/bug-245.php'); + yield from $this->gatherAssertTypes(__DIR__ . '/../data/QueryResult/bug-512.php'); } /** diff --git a/tests/Type/Doctrine/data/QueryResult/Entities/One.php b/tests/Type/Doctrine/data/QueryResult/Entities/One.php index 5605c945..dbd41caf 100644 --- a/tests/Type/Doctrine/data/QueryResult/Entities/One.php +++ b/tests/Type/Doctrine/data/QueryResult/Entities/One.php @@ -3,6 +3,7 @@ namespace QueryResult\Entities; use Doctrine\Common\Collections\Collection; +use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Mapping\Column; use Doctrine\ORM\Mapping\Embedded as ORMEmbedded; use Doctrine\ORM\Mapping\Entity; @@ -10,6 +11,7 @@ use Doctrine\ORM\Mapping\JoinColumn; use Doctrine\ORM\Mapping\OneToMany; use Doctrine\ORM\Mapping\OneToOne; +use Doctrine\ORM\QueryBuilder; /** * @Entity @@ -71,4 +73,11 @@ public function __construct() { $this->subOne = new SubOne(); } + + public static function createQueryBuilder(EntityManagerInterface $em): QueryBuilder + { + return $em->createQueryBuilder() + ->select('o') + ->from(self::class, 'o'); + } } diff --git a/tests/Type/Doctrine/data/QueryResult/bug-512.php b/tests/Type/Doctrine/data/QueryResult/bug-512.php new file mode 100644 index 00000000..09f72e5a --- /dev/null +++ b/tests/Type/Doctrine/data/QueryResult/bug-512.php @@ -0,0 +1,17 @@ +getQuery(); + assertType('Doctrine\ORM\Query', $query); + assertType('list', $query->getResult()); + } +}