1
0
mirror of synced 2025-02-02 21:41:45 +03:00

Merge branch 'feature/#6136-better-exception-message-on-invalid-connection-object'

Close #6136
This commit is contained in:
Marco Pivetta 2016-11-18 09:21:18 +01:00
commit e7856f90d8
2 changed files with 24 additions and 5 deletions

View File

@ -860,7 +860,13 @@ use Doctrine\Common\Util\ClassUtils;
} }
if ( ! $connection instanceof Connection) { if ( ! $connection instanceof Connection) {
throw new \InvalidArgumentException("Invalid argument: " . $connection); throw new \InvalidArgumentException(
sprintf(
'Invalid $connection argument of type %s given%s.',
is_object($connection) ? get_class($connection) : gettype($connection),
is_object($connection) ? '' : ': "' . $connection . '"'
)
);
} }
if ($eventManager !== null && $connection->getEventManager() !== $eventManager) { if ($eventManager !== null && $connection->getEventManager() !== $eventManager) {

View File

@ -2,6 +2,9 @@
namespace Doctrine\Tests\ORM; namespace Doctrine\Tests\ORM;
use Doctrine\Common\Persistence\Mapping\Driver\MappingDriver;
use Doctrine\ORM\Configuration;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\ORMException; use Doctrine\ORM\ORMException;
use Doctrine\ORM\ORMInvalidArgumentException; use Doctrine\ORM\ORMInvalidArgumentException;
use Doctrine\ORM\Query\ResultSetMapping; use Doctrine\ORM\Query\ResultSetMapping;
@ -204,4 +207,14 @@ class EntityManagerTest extends OrmTestCase
$this->assertSame($this->_em, $em); $this->assertSame($this->_em, $em);
return 'callback'; return 'callback';
} }
public function testCreateInvalidConnection()
{
$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage('Invalid $connection argument of type integer given: "1".');
$config = new Configuration();
$config->setMetadataDriverImpl($this->createMock(MappingDriver::class));
EntityManager::create(1, $config);
}
} }