Commit 0ae49f56 authored by Benjamin Eberlei's avatar Benjamin Eberlei

Merge pull request #481 from deeky666/fix-oracle-test-suite

Fix Oracle test suite
parents 24c1e754 b1a0a22d
......@@ -113,14 +113,16 @@ class OracleSchemaManager extends AbstractSchemaManager
$tableColumn['column_name'] = '';
}
if ($tableColumn['data_default'] === 'NULL') {
// Default values returned from database sometimes have trailing spaces.
$tableColumn['data_default'] = trim($tableColumn['data_default']);
if ($tableColumn['data_default'] === '' || $tableColumn['data_default'] === 'NULL') {
$tableColumn['data_default'] = null;
}
if (null !== $tableColumn['data_default']) {
// Default values returned from database are enclosed in single quotes.
// Sometimes trailing spaces are also encountered.
$tableColumn['data_default'] = trim(trim($tableColumn['data_default']), "'");
$tableColumn['data_default'] = trim($tableColumn['data_default'], "'");
}
$precision = null;
......
......@@ -3,6 +3,7 @@
namespace Doctrine\Tests\DBAL\Functional\Schema;
use Doctrine\DBAL\Schema;
use Doctrine\Tests\TestUtil;
require_once __DIR__ . '/../../../TestInit.php';
......@@ -88,4 +89,17 @@ class OracleSchemaManagerTest extends SchemaManagerFunctionalTestCase
$this->assertTrue($columns['id']->getNotnull());
$this->assertFalse($columns['foo']->getNotnull());
}
public function testListDatabases()
{
// We need the temp connection that has privileges to create a database.
$sm = TestUtil::getTempConnection()->getSchemaManager();
$sm->dropAndCreateDatabase('c##test_create_database');
$databases = $this->_sm->listDatabases();
$databases = \array_map('strtolower', $databases);
$this->assertEquals(true, \in_array('c##test_create_database', $databases));
}
}
......@@ -34,8 +34,9 @@ class TemporaryTableTest extends \Doctrine\Tests\DbalFunctionalTestCase
*/
public function testDropTemporaryTableNotAutoCommitTransaction()
{
if ($this->_conn->getDatabasePlatform()->getName() == 'sqlanywhere') {
$this->markTestSkipped("Test does not work on SQL Anywhere.");
if ($this->_conn->getDatabasePlatform()->getName() == 'sqlanywhere' ||
$this->_conn->getDatabasePlatform()->getName() == 'oracle') {
$this->markTestSkipped("Test does not work on Oracle and SQL Anywhere.");
}
$platform = $this->_conn->getDatabasePlatform();
......@@ -71,8 +72,9 @@ class TemporaryTableTest extends \Doctrine\Tests\DbalFunctionalTestCase
*/
public function testCreateTemporaryTableNotAutoCommitTransaction()
{
if ($this->_conn->getDatabasePlatform()->getName() == 'sqlanywhere') {
$this->markTestSkipped("Test does not work on SQL Anywhere.");
if ($this->_conn->getDatabasePlatform()->getName() == 'sqlanywhere' ||
$this->_conn->getDatabasePlatform()->getName() == 'oracle') {
$this->markTestSkipped("Test does not work on Oracle and SQL Anywhere.");
}
$platform = $this->_conn->getDatabasePlatform();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment