DriverTest.php 1.41 KB
Newer Older
1 2
<?php

3
namespace Doctrine\DBAL\Tests\Functional\Driver\SQLAnywhere;
4 5

use Doctrine\DBAL\Connection;
6
use Doctrine\DBAL\Driver as DriverInterface;
7
use Doctrine\DBAL\Driver\SQLAnywhere\Driver;
8
use Doctrine\DBAL\Tests\Functional\Driver\AbstractDriverTest;
9
use function extension_loaded;
10 11 12

class DriverTest extends AbstractDriverTest
{
13
    protected function setUp() : void
14 15 16 17 18 19 20
    {
        if (! extension_loaded('sqlanywhere')) {
            $this->markTestSkipped('sqlanywhere is not installed.');
        }

        parent::setUp();

Sergei Morozov's avatar
Sergei Morozov committed
21
        if ($this->connection->getDriver() instanceof Driver) {
Sergei Morozov's avatar
Sergei Morozov committed
22
            return;
23
        }
Sergei Morozov's avatar
Sergei Morozov committed
24 25

        $this->markTestSkipped('sqlanywhere only test.');
26 27
    }

28
    public function testReturnsDatabaseNameWithoutDatabaseNameParameter() : void
29
    {
Sergei Morozov's avatar
Sergei Morozov committed
30
        $params = $this->connection->getParams();
31 32 33 34
        unset($params['dbname']);

        $connection = new Connection(
            $params,
Sergei Morozov's avatar
Sergei Morozov committed
35 36 37
            $this->connection->getDriver(),
            $this->connection->getConfiguration(),
            $this->connection->getEventManager()
38 39 40 41
        );

        // SQL Anywhere has no "default" database. The name of the default database
        // is defined on server startup and therefore can be arbitrary.
42
        self::assertIsString($this->driver->getDatabase($connection));
43 44 45 46 47
    }

    /**
     * {@inheritdoc}
     */
48
    protected function createDriver() : DriverInterface
49 50 51 52
    {
        return new Driver();
    }
}