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 ...@@ -113,14 +113,16 @@ class OracleSchemaManager extends AbstractSchemaManager
$tableColumn['column_name'] = ''; $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; $tableColumn['data_default'] = null;
} }
if (null !== $tableColumn['data_default']) { if (null !== $tableColumn['data_default']) {
// Default values returned from database are enclosed in single quotes. // Default values returned from database are enclosed in single quotes.
// Sometimes trailing spaces are also encountered. $tableColumn['data_default'] = trim($tableColumn['data_default'], "'");
$tableColumn['data_default'] = trim(trim($tableColumn['data_default']), "'");
} }
$precision = null; $precision = null;
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
namespace Doctrine\Tests\DBAL\Functional\Schema; namespace Doctrine\Tests\DBAL\Functional\Schema;
use Doctrine\DBAL\Schema; use Doctrine\DBAL\Schema;
use Doctrine\Tests\TestUtil;
require_once __DIR__ . '/../../../TestInit.php'; require_once __DIR__ . '/../../../TestInit.php';
...@@ -88,4 +89,17 @@ class OracleSchemaManagerTest extends SchemaManagerFunctionalTestCase ...@@ -88,4 +89,17 @@ class OracleSchemaManagerTest extends SchemaManagerFunctionalTestCase
$this->assertTrue($columns['id']->getNotnull()); $this->assertTrue($columns['id']->getNotnull());
$this->assertFalse($columns['foo']->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 ...@@ -34,8 +34,9 @@ class TemporaryTableTest extends \Doctrine\Tests\DbalFunctionalTestCase
*/ */
public function testDropTemporaryTableNotAutoCommitTransaction() public function testDropTemporaryTableNotAutoCommitTransaction()
{ {
if ($this->_conn->getDatabasePlatform()->getName() == 'sqlanywhere') { if ($this->_conn->getDatabasePlatform()->getName() == 'sqlanywhere' ||
$this->markTestSkipped("Test does not work on SQL Anywhere."); $this->_conn->getDatabasePlatform()->getName() == 'oracle') {
$this->markTestSkipped("Test does not work on Oracle and SQL Anywhere.");
} }
$platform = $this->_conn->getDatabasePlatform(); $platform = $this->_conn->getDatabasePlatform();
...@@ -71,8 +72,9 @@ class TemporaryTableTest extends \Doctrine\Tests\DbalFunctionalTestCase ...@@ -71,8 +72,9 @@ class TemporaryTableTest extends \Doctrine\Tests\DbalFunctionalTestCase
*/ */
public function testCreateTemporaryTableNotAutoCommitTransaction() public function testCreateTemporaryTableNotAutoCommitTransaction()
{ {
if ($this->_conn->getDatabasePlatform()->getName() == 'sqlanywhere') { if ($this->_conn->getDatabasePlatform()->getName() == 'sqlanywhere' ||
$this->markTestSkipped("Test does not work on SQL Anywhere."); $this->_conn->getDatabasePlatform()->getName() == 'oracle') {
$this->markTestSkipped("Test does not work on Oracle and SQL Anywhere.");
} }
$platform = $this->_conn->getDatabasePlatform(); $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