| @@ 20-37 (lines=18) @@ | ||
| 17 | parent::setUp(); |
|
| 18 | } |
|
| 19 | ||
| 20 | public function testMixedParametersWithZeroNumber() : void |
|
| 21 | { |
|
| 22 | $query = $this->_em->createQueryBuilder() |
|
| 23 | ->select('u') |
|
| 24 | ->from(CmsUser::class, 'u') |
|
| 25 | ->andWhere('u.username = :username') |
|
| 26 | ->andWhere('u.id = ?0') |
|
| 27 | ->getQuery(); |
|
| 28 | ||
| 29 | $query->setParameter('username', 'bar'); |
|
| 30 | $query->setParameter(0, 0); |
|
| 31 | ||
| 32 | $query->execute(); |
|
| 33 | ||
| 34 | self::assertCount(2, $query->getParameters()); |
|
| 35 | self::assertSame(0, $query->getParameter(0)->getValue()); |
|
| 36 | self::assertSame('bar', $query->getParameter('username')->getValue()); |
|
| 37 | } |
|
| 38 | ||
| 39 | public function testMixedParametersWithZeroNumberOnQueryBuilder() : void |
|
| 40 | { |
|
| @@ 39-55 (lines=17) @@ | ||
| 36 | self::assertSame('bar', $query->getParameter('username')->getValue()); |
|
| 37 | } |
|
| 38 | ||
| 39 | public function testMixedParametersWithZeroNumberOnQueryBuilder() : void |
|
| 40 | { |
|
| 41 | $query = $this->_em->createQueryBuilder() |
|
| 42 | ->select('u') |
|
| 43 | ->from(CmsUser::class, 'u') |
|
| 44 | ->andWhere('u.username = :username') |
|
| 45 | ->andWhere('u.id = ?0') |
|
| 46 | ->setParameter('username', 'bar') |
|
| 47 | ->setParameter(0, 0) |
|
| 48 | ->getQuery(); |
|
| 49 | ||
| 50 | $query->execute(); |
|
| 51 | ||
| 52 | self::assertCount(2, $query->getParameters()); |
|
| 53 | self::assertSame(0, $query->getParameter(0)->getValue()); |
|
| 54 | self::assertSame('bar', $query->getParameter('username')->getValue()); |
|
| 55 | } |
|
| 56 | } |
|
| 57 | ||
| @@ 1182-1196 (lines=15) @@ | ||
| 1179 | /** |
|
| 1180 | * @group 6699 |
|
| 1181 | */ |
|
| 1182 | public function testSetParameterWithNameZeroIsNotOverridden() : void |
|
| 1183 | { |
|
| 1184 | $builder = $this->_em->createQueryBuilder() |
|
| 1185 | ->select('u') |
|
| 1186 | ->from(CmsUser::class, 'u') |
|
| 1187 | ->where('u.id != ?0') |
|
| 1188 | ->andWhere('u.username = :name'); |
|
| 1189 | ||
| 1190 | $builder->setParameter(0, 0); |
|
| 1191 | $builder->setParameter('name', 'Doctrine'); |
|
| 1192 | ||
| 1193 | self::assertCount(2, $builder->getParameters()); |
|
| 1194 | self::assertSame(0, $builder->getParameter('0')->getValue()); |
|
| 1195 | self::assertSame('Doctrine', $builder->getParameter('name')->getValue()); |
|
| 1196 | } |
|
| 1197 | ||
| 1198 | /** |
|
| 1199 | * @group 6699 |
|
| @@ 1201-1215 (lines=15) @@ | ||
| 1198 | /** |
|
| 1199 | * @group 6699 |
|
| 1200 | */ |
|
| 1201 | public function testSetParameterWithNameZeroDoesNotOverrideAnotherParameter() : void |
|
| 1202 | { |
|
| 1203 | $builder = $this->_em->createQueryBuilder() |
|
| 1204 | ->select('u') |
|
| 1205 | ->from(CmsUser::class, 'u') |
|
| 1206 | ->where('u.id != ?0') |
|
| 1207 | ->andWhere('u.username = :name'); |
|
| 1208 | ||
| 1209 | $builder->setParameter('name', 'Doctrine'); |
|
| 1210 | $builder->setParameter(0, 0); |
|
| 1211 | ||
| 1212 | self::assertCount(2, $builder->getParameters()); |
|
| 1213 | self::assertSame(0, $builder->getParameter(0)->getValue()); |
|
| 1214 | self::assertSame('Doctrine', $builder->getParameter('name')->getValue()); |
|
| 1215 | } |
|
| 1216 | ||
| 1217 | /** |
|
| 1218 | * @group 6699 |
|