Moved some tests
This commit is contained in:
parent
13333bcfa0
commit
ff5c84a080
138
tests/Db/ProfilerTestCase.php
Normal file
138
tests/Db/ProfilerTestCase.php
Normal file
@ -0,0 +1,138 @@
|
||||
<?php
|
||||
class Doctrine_Db_Profiler_TestCase extends Doctrine_UnitTestCase {
|
||||
protected $dbh;
|
||||
|
||||
protected $profiler;
|
||||
public function prepareTables() {}
|
||||
public function prepareData() {}
|
||||
|
||||
public function testQuery() {
|
||||
$this->dbh = Doctrine_Db2::getConnection('sqlite::memory:');
|
||||
|
||||
$this->profiler = new Doctrine_Db_Profiler();
|
||||
|
||||
$this->dbh->setListener($this->profiler);
|
||||
|
||||
$this->dbh->query('CREATE TABLE test (id INT)');
|
||||
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), 'CREATE TABLE test (id INT)');
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::QUERY);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
|
||||
$this->assertEqual($this->dbh->count(), 1);
|
||||
}
|
||||
public function testPrepareAndExecute() {
|
||||
|
||||
$stmt = $this->dbh->prepare('INSERT INTO test (id) VALUES (?)');
|
||||
$event = $this->profiler->lastEvent();
|
||||
|
||||
$this->assertEqual($event->getQuery(), 'INSERT INTO test (id) VALUES (?)');
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::PREPARE);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
|
||||
$stmt->execute(array(1));
|
||||
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), 'INSERT INTO test (id) VALUES (?)');
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::EXECUTE);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
|
||||
$this->assertEqual($this->dbh->count(), 2);
|
||||
}
|
||||
public function testMultiplePrepareAndExecute() {
|
||||
|
||||
$stmt = $this->dbh->prepare('INSERT INTO test (id) VALUES (?)');
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), 'INSERT INTO test (id) VALUES (?)');
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::PREPARE);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
|
||||
$stmt2 = $this->dbh->prepare('INSERT INTO test (id) VALUES (?)');
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), 'INSERT INTO test (id) VALUES (?)');
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::PREPARE);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
|
||||
$stmt->execute(array(1));
|
||||
$stmt2->execute(array(1));
|
||||
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), 'INSERT INTO test (id) VALUES (?)');
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::EXECUTE);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
|
||||
$this->assertEqual($this->dbh->count(), 4);
|
||||
}
|
||||
public function testExecuteStatementMultipleTimes() {
|
||||
try {
|
||||
$stmt = $this->dbh->prepare('INSERT INTO test (id) VALUES (?)');
|
||||
$stmt->execute(array(1));
|
||||
$stmt->execute(array(1));
|
||||
$this->pass();
|
||||
} catch(Doctrine_Db_Exception $e) {
|
||||
|
||||
$this->fail($e->__toString());
|
||||
}
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), 'INSERT INTO test (id) VALUES (?)');
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::EXECUTE);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), 'INSERT INTO test (id) VALUES (?)');
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::EXECUTE);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
}
|
||||
public function testTransactionRollback() {
|
||||
try {
|
||||
$this->dbh->beginTransaction();
|
||||
$this->pass();
|
||||
} catch(Doctrine_Db_Exception $e) {
|
||||
$this->fail($e->__toString());
|
||||
}
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), null);
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::BEGIN);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
|
||||
try {
|
||||
$this->dbh->rollback();
|
||||
$this->pass();
|
||||
} catch(Doctrine_Db_Exception $e) {
|
||||
$this->fail($e->__toString());
|
||||
}
|
||||
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), null);
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::ROLLBACK);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
}
|
||||
public function testTransactionCommit() {
|
||||
try {
|
||||
$this->dbh->beginTransaction();
|
||||
$this->pass();
|
||||
} catch(Doctrine_Db_Exception $e) {
|
||||
$this->fail($e->__toString());
|
||||
}
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), null);
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::BEGIN);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
|
||||
try {
|
||||
$this->dbh->commit();
|
||||
$this->pass();
|
||||
} catch(Doctrine_Db_Exception $e) {
|
||||
$this->fail($e->__toString());
|
||||
$this->dbh->rollback();
|
||||
}
|
||||
|
||||
$this->assertEqual($this->profiler->lastEvent()->getQuery(), null);
|
||||
$this->assertTrue($this->profiler->lastEvent()->hasEnded());
|
||||
$this->assertEqual($this->profiler->lastEvent()->getType(), Doctrine_Db_Event::COMMIT);
|
||||
$this->assertTrue(is_numeric($this->profiler->lastEvent()->getElapsedSecs()));
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,53 +0,0 @@
|
||||
<?php
|
||||
class Doctrine_Export_Firebird_TestCase extends Doctrine_Export_TestCase {
|
||||
public function __construct() {
|
||||
parent::__construct('firebird');
|
||||
}
|
||||
public function testCreateDatabaseDoesNotExecuteSql() {
|
||||
try {
|
||||
$this->export->createDatabase('db');
|
||||
$this->fail();
|
||||
} catch(Doctrine_Export_Firebird_Exception $e) {
|
||||
$this->pass();
|
||||
}
|
||||
}
|
||||
public function testDropDatabaseDoesNotExecuteSql() {
|
||||
try {
|
||||
$this->export->dropDatabase('db');
|
||||
$this->fail();
|
||||
} catch(Doctrine_Export_Firebird_Exception $e) {
|
||||
$this->pass();
|
||||
}
|
||||
}
|
||||
public function testCreateTableSupportsAutoincPks() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'integer', 'unsigned' => 1, 'autoincrement' => true));
|
||||
|
||||
$this->export->createTable($name, $fields);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id SERIAL PRIMARY KEY)');
|
||||
}
|
||||
public function testCreateTableSupportsDefaultAttribute() {
|
||||
$name = 'mytable';
|
||||
$fields = array('name' => array('type' => 'char', 'length' => 10, 'default' => 'def'),
|
||||
'type' => array('type' => 'integer', 'length' => 3, 'default' => 12)
|
||||
);
|
||||
|
||||
$options = array('primary' => array('name', 'type'));
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (name CHAR(10) DEFAULT \'def\', type INT DEFAULT 12, PRIMARY KEY(name, type))');
|
||||
}
|
||||
public function testCreateTableSupportsMultiplePks() {
|
||||
$name = 'mytable';
|
||||
$fields = array('name' => array('type' => 'char', 'length' => 10),
|
||||
'type' => array('type' => 'integer', 'length' => 3));
|
||||
|
||||
$options = array('primary' => array('name', 'type'));
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (name CHAR(10), type INT, PRIMARY KEY(name, type))');
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,145 +0,0 @@
|
||||
<?php
|
||||
class Doctrine_Export_Mysql_TestCase extends Doctrine_Driver_UnitTestCase {
|
||||
public function __construct() {
|
||||
parent::__construct('mysql');
|
||||
}
|
||||
|
||||
public function testAlterTableThrowsExceptionWithoutValidTableName() {
|
||||
try {
|
||||
$this->export->alterTable(0,0,array());
|
||||
|
||||
$this->fail();
|
||||
} catch(Doctrine_Export_Exception $e) {
|
||||
$this->pass();
|
||||
}
|
||||
}
|
||||
public function testCreateTableExecutesSql() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'integer', 'unsigned' => 1));
|
||||
$options = array('type' => 'MYISAM');
|
||||
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id INT UNSIGNED) ENGINE = MYISAM');
|
||||
}
|
||||
public function testCreateTableSupportsDefaultTableType() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'integer', 'unsigned' => 1));
|
||||
|
||||
$this->export->createTable($name, $fields);
|
||||
|
||||
// INNODB is the default type
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id INT UNSIGNED) ENGINE = INNODB');
|
||||
}
|
||||
public function testCreateTableSupportsMultiplePks() {
|
||||
$name = 'mytable';
|
||||
$fields = array('name' => array('type' => 'char', 'length' => 10),
|
||||
'type' => array('type' => 'integer', 'length' => 3));
|
||||
|
||||
$options = array('primary' => array('name', 'type'));
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (name CHAR(10), type MEDIUMINT, PRIMARY KEY(name, type)) ENGINE = INNODB');
|
||||
}
|
||||
public function testCreateTableSupportsAutoincPks() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'integer', 'unsigned' => 1, 'autoincrement' => true));
|
||||
$options = array('type' => 'INNODB');
|
||||
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE = INNODB');
|
||||
}
|
||||
public function testCreateTableSupportsCharType() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'char', 'length' => 3));
|
||||
$options = array('type' => 'MYISAM');
|
||||
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id CHAR(3)) ENGINE = MYISAM');
|
||||
}
|
||||
public function testCreateTableSupportsCharType2() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'char'));
|
||||
$options = array('type' => 'MYISAM');
|
||||
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id CHAR(255)) ENGINE = MYISAM');
|
||||
}
|
||||
public function testCreateTableSupportsVarcharType() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'varchar', 'length' => '100'));
|
||||
$options = array('type' => 'MYISAM');
|
||||
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id VARCHAR(100)) ENGINE = MYISAM');
|
||||
}
|
||||
public function testCreateTableSupportsIntegerType() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'integer', 'length' => '10'));
|
||||
$options = array('type' => 'MYISAM');
|
||||
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id BIGINT) ENGINE = MYISAM');
|
||||
}
|
||||
public function testCreateTableSupportsBlobType() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('content' => array('type' => 'blob'));
|
||||
$options = array('type' => 'MYISAM');
|
||||
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (content LONGBLOB) ENGINE = MYISAM');
|
||||
}
|
||||
public function testCreateTableSupportsBlobType2() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('content' => array('type' => 'blob', 'length' => 2000));
|
||||
$options = array('type' => 'MYISAM');
|
||||
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (content BLOB) ENGINE = MYISAM');
|
||||
}
|
||||
|
||||
public function testCreateTableSupportsBooleanType() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'boolean'));
|
||||
$options = array('type' => 'MYISAM');
|
||||
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id TINYINT(1)) ENGINE = MYISAM');
|
||||
}
|
||||
public function testCreateDatabaseExecutesSql() {
|
||||
$this->export->createDatabase('db');
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE DATABASE db');
|
||||
}
|
||||
public function testDropDatabaseExecutesSql() {
|
||||
$this->export->dropDatabase('db');
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'DROP DATABASE db');
|
||||
}
|
||||
|
||||
public function testDropIndexExecutesSql() {
|
||||
$this->export->dropIndex('sometable', 'relevancy');
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'DROP INDEX relevancy_idx ON sometable');
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
@ -1,91 +0,0 @@
|
||||
<?php
|
||||
class Doctrine_Export_Oracle_TestCase extends Doctrine_Export_TestCase {
|
||||
public function __construct() {
|
||||
parent::__construct('oci');
|
||||
}
|
||||
public function testCreateSequenceExecutesSql() {
|
||||
$sequenceName = 'sequence';
|
||||
$start = 1;
|
||||
$query = 'CREATE SEQUENCE ' . $sequenceName . '_seq START WITH ' . $start . ' INCREMENT BY 1 NOCACHE';
|
||||
|
||||
$this->export->createSequence($sequenceName, $start);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), $query);
|
||||
}
|
||||
|
||||
public function testDropSequenceExecutesSql() {
|
||||
$sequenceName = 'sequence';
|
||||
|
||||
$query = 'DROP SEQUENCE ' . $sequenceName;
|
||||
|
||||
$this->export->dropSequence($sequenceName);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), $query . '_seq');
|
||||
}
|
||||
public function testCreateTableExecutesSql() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'integer'));
|
||||
$options = array('type' => 'MYISAM');
|
||||
|
||||
$this->export->createTable($name, $fields);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'COMMIT');
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id INT)');
|
||||
$this->assertEqual($this->adapter->pop(), 'BEGIN TRANSACTION');
|
||||
}
|
||||
public function testCreateTableSupportsDefaultAttribute() {
|
||||
$name = 'mytable';
|
||||
$fields = array('name' => array('type' => 'char', 'length' => 10, 'default' => 'def'),
|
||||
'type' => array('type' => 'integer', 'length' => 3, 'default' => 12)
|
||||
);
|
||||
|
||||
$options = array('primary' => array('name', 'type'));
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'COMMIT');
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (name CHAR(10) DEFAULT \'def\', type NUMBER(3) DEFAULT 12, PRIMARY KEY(name, type))');
|
||||
$this->assertEqual($this->adapter->pop(), 'BEGIN TRANSACTION');
|
||||
}
|
||||
public function testCreateTableSupportsMultiplePks() {
|
||||
$name = 'mytable';
|
||||
$fields = array('name' => array('type' => 'char', 'length' => 10),
|
||||
'type' => array('type' => 'integer', 'length' => 3));
|
||||
|
||||
$options = array('primary' => array('name', 'type'));
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'COMMIT');
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (name CHAR(10), type NUMBER(3), PRIMARY KEY(name, type))');
|
||||
$this->assertEqual($this->adapter->pop(), 'BEGIN TRANSACTION');
|
||||
}
|
||||
public function testCreateTableSupportsAutoincPks() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'integer', 'autoincrement' => true));
|
||||
|
||||
|
||||
$this->export->createTable($name, $fields);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'COMMIT');
|
||||
$this->assertEqual(substr($this->adapter->pop(),0, 14), 'CREATE TRIGGER');
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE SEQUENCE MYTABLE_seq START WITH 1 INCREMENT BY 1 NOCACHE');
|
||||
$this->assertEqual($this->adapter->pop(), 'ALTER TABLE MYTABLE ADD CONSTRAINT MYTABLE_AI_PK_idx PRIMARY KEY (id)');
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id INT)');
|
||||
$this->assertEqual($this->adapter->pop(), 'BEGIN TRANSACTION');
|
||||
}
|
||||
|
||||
public function testCreateTableSupportsCharType() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'char', 'length' => 3));
|
||||
|
||||
$this->export->createTable($name, $fields);
|
||||
|
||||
$this->adapter->pop();
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id CHAR(3))');
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,47 +0,0 @@
|
||||
<?php
|
||||
class Doctrine_Export_Pgsql_TestCase extends Doctrine_Export_TestCase {
|
||||
public function __construct() {
|
||||
parent::__construct('pgsql');
|
||||
}
|
||||
public function testCreateDatabaseExecutesSql() {
|
||||
$this->export->createDatabase('db');
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE DATABASE db');
|
||||
}
|
||||
public function testDropDatabaseExecutesSql() {
|
||||
$this->export->dropDatabase('db');
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'DROP DATABASE db');
|
||||
}
|
||||
public function testCreateTableSupportsAutoincPks() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'integer', 'unsigned' => 1, 'autoincrement' => true));
|
||||
|
||||
$this->export->createTable($name, $fields);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id SERIAL PRIMARY KEY)');
|
||||
}
|
||||
public function testCreateTableSupportsDefaultAttribute() {
|
||||
$name = 'mytable';
|
||||
$fields = array('name' => array('type' => 'char', 'length' => 10, 'default' => 'def'),
|
||||
'type' => array('type' => 'integer', 'length' => 3, 'default' => 12)
|
||||
);
|
||||
|
||||
$options = array('primary' => array('name', 'type'));
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (name CHAR(10) DEFAULT \'def\', type INT DEFAULT 12, PRIMARY KEY(name, type))');
|
||||
}
|
||||
public function testCreateTableSupportsMultiplePks() {
|
||||
$name = 'mytable';
|
||||
$fields = array('name' => array('type' => 'char', 'length' => 10),
|
||||
'type' => array('type' => 'integer', 'length' => 3));
|
||||
|
||||
$options = array('primary' => array('name', 'type'));
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (name CHAR(10), type INT, PRIMARY KEY(name, type))');
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,26 +0,0 @@
|
||||
<?php
|
||||
class BadLyNamed__Class extends Doctrine_Record {
|
||||
public function setTableDefinition() {
|
||||
|
||||
}
|
||||
public function setUp() { }
|
||||
}
|
||||
class Doctrine_Export_Reporter_TestCase extends Doctrine_Driver_UnitTestCase {
|
||||
public function __construct() {
|
||||
parent::__construct('sqlite');
|
||||
}
|
||||
public function testExportChecksClassNaming() {
|
||||
$reporter = $this->export->export('BadLyNamed__Class');
|
||||
|
||||
// Class name is not valid. Double underscores are not allowed
|
||||
|
||||
$this->assertEqual($reporter->pop(), array(E_WARNING, 'Badly named class.'));
|
||||
}
|
||||
public function testExportReportsExceptions() {
|
||||
|
||||
$reporter = $this->export->export('User');
|
||||
// Class name is not valid. Double underscores are not allowed
|
||||
|
||||
$this->assertEqual($reporter->pop(), array(E_WARNING, Doctrine::ERR_CLASS_NAME));
|
||||
}
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
<?php
|
||||
class Doctrine_Export_Sqlite_TestCase extends Doctrine_Driver_UnitTestCase {
|
||||
public function __construct() {
|
||||
parent::__construct('sqlite');
|
||||
}
|
||||
public function testExportDoesntWorkWithExistingTable() {
|
||||
$this->manager->setAttribute(Doctrine::ATTR_CREATE_TABLES, false);
|
||||
$this->adapter->forceException('PDOException', 'table already exist', 123);
|
||||
|
||||
$reporter = $this->export->export('User');
|
||||
|
||||
// Class name is not valid. Double underscores are not allowed
|
||||
|
||||
$this->assertEqual($reporter->pop(), array(E_ERROR, Doctrine::ERR_ALREADY_EXISTS));
|
||||
}
|
||||
public function testCreateDatabaseDoesNotExecuteSql() {
|
||||
try {
|
||||
$this->export->createDatabase('db');
|
||||
$this->fail();
|
||||
} catch(Doctrine_Export_Exception $e) {
|
||||
$this->pass();
|
||||
}
|
||||
}
|
||||
public function testDropDatabaseDoesNotExecuteSql() {
|
||||
try {
|
||||
$this->export->dropDatabase('db');
|
||||
$this->fail();
|
||||
} catch(Doctrine_Export_Exception $e) {
|
||||
$this->pass();
|
||||
}
|
||||
}
|
||||
public function testCreateTableSupportsAutoincPks() {
|
||||
$name = 'mytable';
|
||||
|
||||
$fields = array('id' => array('type' => 'integer', 'unsigned' => 1, 'autoincrement' => true));
|
||||
|
||||
$this->export->createTable($name, $fields);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (id INTEGER UNSIGNED PRIMARY KEY AUTOINCREMENT)');
|
||||
}
|
||||
public function testCreateTableSupportsDefaultAttribute() {
|
||||
$name = 'mytable';
|
||||
$fields = array('name' => array('type' => 'char', 'length' => 10, 'default' => 'def'),
|
||||
'type' => array('type' => 'integer', 'length' => 3, 'default' => 12)
|
||||
);
|
||||
|
||||
$options = array('primary' => array('name', 'type'));
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (name CHAR(10) DEFAULT \'def\', type INTEGER DEFAULT 12, PRIMARY KEY(name, type))');
|
||||
}
|
||||
public function testCreateTableSupportsMultiplePks() {
|
||||
$name = 'mytable';
|
||||
$fields = array('name' => array('type' => 'char', 'length' => 10),
|
||||
'type' => array('type' => 'integer', 'length' => 3));
|
||||
|
||||
$options = array('primary' => array('name', 'type'));
|
||||
$this->export->createTable($name, $fields, $options);
|
||||
|
||||
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE mytable (name CHAR(10), type INTEGER, PRIMARY KEY(name, type))');
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
x
Reference in New Issue
Block a user