2 namespace TYPO3\CMS\Dbal\Tests\Unit\Database;
19 require_once __DIR__ .
'/../../../../adodb/adodb/adodb.inc.php';
20 require_once __DIR__ .
'/../../../../adodb/adodb/drivers/adodb-mssql.inc.php';
21 require_once __DIR__ .
'/../../../../adodb/adodb/drivers/adodb-oci8.inc.php';
22 require_once __DIR__ .
'/../../../../adodb/adodb/drivers/adodb-postgres7.inc.php';
37 protected function prepareSubject($driver, array $configuration)
40 $subject = $this->getAccessibleMock(\TYPO3\CMS\Dbal\Database\DatabaseConnection::class, array(
'getFieldInfoCache'), array(),
'',
false);
42 $subject->conf = $configuration;
45 $mockCacheFrontend = $this->getMock(\TYPO3\CMS\Core\Cache\Frontend\PhpFrontend::class, array(), array(),
'',
false);
46 $subject->expects($this->any())->method(
'getFieldInfoCache')->will($this->returnValue($mockCacheFrontend));
49 $sqlParser = $this->getAccessibleMock(\TYPO3\CMS\Dbal\Database\SqlParser::class, array(
'dummy'), array(),
'',
false);
50 $sqlParser->_set(
'databaseConnection', $subject);
53 $subject->SQLparser = $sqlParser;
56 $installerSqlMock = $this->getMock(\TYPO3\CMS\Install\Service\SqlSchemaMigrationService::class, array(
'getFieldDefinitions_fileContent'), array(),
'',
false);
57 $installerSqlMock->expects($this->any())->method(
'getFieldDefinitions_fileContent')->will($this->returnValue(array()));
58 $subject->_set(
'installerSql', $installerSqlMock);
60 $subject->initialize();
63 $handlerKey =
'_DEFAULT';
64 $subject->lastHandlerKey = $handlerKey;
65 $adodbDriverClass =
'\ADODB_' . $driver;
66 $subject->handlerInstance[$handlerKey] =
new $adodbDriverClass();
67 $subject->handlerInstance[$handlerKey]->DataDictionary = NewDataDictionary($subject->handlerInstance[$handlerKey]);
68 $subject->handlerInstance[$handlerKey]->_connectionID = rand(1, 1000);
82 if (!is_string($sql)) {
85 $sql = str_replace(
"\n",
' ', $sql);
86 $sql = preg_replace(
'/\\s+/',
' ', $sql);