DriverMock.php 1.57 KB
Newer Older
romanb's avatar
romanb committed
1
<?php
2

3
namespace Doctrine\Tests\Mocks;
romanb's avatar
romanb committed
4

5

6
class DriverMock implements \Doctrine\DBAL\Driver
romanb's avatar
romanb committed
7
{
8 9
    private $_platformMock;

10 11
    private $_schemaManagerMock;

romanb's avatar
romanb committed
12 13
    public function connect(array $params, $username = null, $password = null, array $driverOptions = array())
    {
14
        return new DriverConnectionMock();
romanb's avatar
romanb committed
15
    }
16

romanb's avatar
romanb committed
17 18 19 20 21 22 23 24 25 26
    /**
     * Constructs the Sqlite PDO DSN.
     *
     * @return string  The DSN.
     * @override
     */
    protected function _constructPdoDsn(array $params)
    {
        return "";
    }
27 28 29 30

    /**
     * @override
     */
romanb's avatar
romanb committed
31 32
    public function getDatabasePlatform()
    {
33 34 35 36
        if ( ! $this->_platformMock) {
            $this->_platformMock = new DatabasePlatformMock;
        }
        return $this->_platformMock;
romanb's avatar
romanb committed
37
    }
38 39 40 41

    /**
     * @override
     */
42
    public function getSchemaManager(\Doctrine\DBAL\Connection $conn)
romanb's avatar
romanb committed
43
    {
44 45 46 47 48
        if($this->_schemaManagerMock == null) {
            return new SchemaManagerMock($conn);
        } else {
            return $this->_schemaManagerMock;
        }
romanb's avatar
romanb committed
49
    }
50 51 52 53 54 55 56

    /* MOCK API */

    public function setDatabasePlatform(\Doctrine\DBAL\Platforms\AbstractPlatform $platform)
    {
        $this->_platformMock = $platform;
    }
57

58 59 60 61 62
    public function setSchemaManager(\Doctrine\DBAL\Schema\AbstractSchemaManager $sm)
    {
        $this->_schemaManagerMock = $sm;
    }

63 64 65 66
    public function getName()
    {
        return 'mock';
    }
67 68 69 70 71

    public function getDatabase(\Doctrine\DBAL\Connection $conn)
    {
        return;
    }
72 73 74 75 76

    public function convertExceptionCode(\Exception $exception)
    {
        return 0;
    }
77
}