1
0
mirror of synced 2025-01-19 06:51:40 +03:00

more tests

This commit is contained in:
zYne 2007-02-17 11:09:34 +00:00
parent 9f42b87575
commit 94e5ce739a
2 changed files with 26 additions and 17 deletions

View File

@ -32,12 +32,7 @@
*/ */
class Doctrine_Export_Mysql_TestCase extends Doctrine_UnitTestCase class Doctrine_Export_Mysql_TestCase extends Doctrine_UnitTestCase
{ {
public function __construct() public function testAlterTableThrowsExceptionWithoutValidTableName()
{
parent::__construct('mysql');
}
public function testAlterTableThrowsExceptionWithoutValidTableName()
{ {
try { try {
$this->export->alterTable(0, array(), array()); $this->export->alterTable(0, array(), array());
@ -254,16 +249,17 @@ class Doctrine_Export_Mysql_TestCase extends Doctrine_UnitTestCase
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE sometable (id INT UNSIGNED AUTO_INCREMENT, content VARCHAR(4), FULLTEXT INDEX myindex (content DESC), PRIMARY KEY(id)) ENGINE = MYISAM'); $this->assertEqual($this->adapter->pop(), 'CREATE TABLE sometable (id INT UNSIGNED AUTO_INCREMENT, content VARCHAR(4), FULLTEXT INDEX myindex (content DESC), PRIMARY KEY(id)) ENGINE = MYISAM');
} }
public function testExportSupportsIndexes() public function testExportSupportsIndexes()
{ {
$r = new MysqlIndexTestRecord; $r = new MysqlIndexTestRecord;
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mysql_index_test_record (id BIGINT AUTO_INCREMENT, name TEXT, code INT, content TEXT, FULLTEXT INDEX content_idx (content), UNIQUE INDEX namecode_idx (name, code), PRIMARY KEY(id)) ENGINE = MYISAM'); $this->assertEqual($this->adapter->pop(), 'CREATE TABLE mysql_index_test_record (id BIGINT AUTO_INCREMENT, name TEXT, code INT, content TEXT, FULLTEXT INDEX content_idx (content), UNIQUE INDEX namecode_idx (name, code), PRIMARY KEY(id)) ENGINE = MYISAM');
} }
public function testExportSupportsForeignKeys() public function testExportSupportsForeignKeys()
{ {
$r = new MysqlForeignKeyTest; $r = new MysqlForeignKeyTest;
//print $this->adapter->pop();
//$this->assertEqual($this->adapter->pop()); $this->assertEqual($this->adapter->pop(), 'CREATE TABLE mysql_foreign_key_test (id BIGINT AUTO_INCREMENT, name TEXT, code INT, content TEXT, parent_id BIGINT, FOREIGN KEY id REFERENCES mysql_foreign_key_test(parent_id) ON UPDATE RESTRICT ON DELETE CASCADE, PRIMARY KEY(id)) ENGINE = INNODB');
} }
} }
class MysqlForeignKeyTest extends Doctrine_Record class MysqlForeignKeyTest extends Doctrine_Record
@ -275,11 +271,11 @@ class MysqlForeignKeyTest extends Doctrine_Record
$this->hasColumn('content', 'string', 4000); $this->hasColumn('content', 'string', 4000);
$this->hasColumn('parent_id', 'integer'); $this->hasColumn('parent_id', 'integer');
$this->foreignKey(array('local' => 'id', $this->hasMany('MysqlForeignKeyTest as Children',
'foreign' => 'parent_id', 'MysqlForeignKeyTest.parent_id',
'foreignTable' => 'mysql_foreign_key_test', array('onDelete' => 'CASCADE',
'onDelete' => 'CASCADE') 'onUpdate' => 'RESTRICT')
); );
$this->option('type', 'INNODB'); $this->option('type', 'INNODB');

View File

@ -123,7 +123,20 @@ class Doctrine_Export_Oracle_TestCase extends Doctrine_UnitTestCase
$this->adapter->pop(); $this->adapter->pop();
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id CHAR(3))'); $this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id CHAR(3))');
} }
public function testCreateTableSupportsIndexes() public function testCreateTableSupportsUniqueConstraint()
{
$fields = array('id' => array('type' => 'integer', 'unsigned' => 1, 'autoincrement' => true, 'unique' => true),
'name' => array('type' => 'string', 'length' => 4),
);
$options = array('primary' => array('id'),
);
$sql = $this->export->createTableSql('sometable', $fields, $options);
$this->assertEqual($sql, 'CREATE TABLE sometable (id INT UNIQUE, name VARCHAR2(4), PRIMARY KEY(id))');
}
public function testCreateTableSupportsIndexes()
{ {
$fields = array('id' => array('type' => 'integer', 'unsigned' => 1, 'autoincrement' => true, 'unique' => true), $fields = array('id' => array('type' => 'integer', 'unsigned' => 1, 'autoincrement' => true, 'unique' => true),
'name' => array('type' => 'string', 'length' => 4), 'name' => array('type' => 'string', 'length' => 4),
@ -133,9 +146,9 @@ class Doctrine_Export_Oracle_TestCase extends Doctrine_UnitTestCase
'indexes' => array('myindex' => array('fields' => array('id', 'name'))) 'indexes' => array('myindex' => array('fields' => array('id', 'name')))
); );
$sql =$this->export->createTableSql('sometable', $fields, $options); $sql = $this->export->createTableSql('sometable', $fields, $options);
$this->assertEqual($sql, 'CREATE TABLE sometable (id INTEGER UNSIGNED PRIMARY KEY AUTOINCREMENT, name VARCHAR(4), INDEX myindex (id, name))'); $this->assertEqual($sql, 'CREATE TABLE sometable (id INT UNIQUE, name VARCHAR2(4), PRIMARY KEY(id), INDEX myindex (id, name))');
} }
} }
?> ?>