diff --git a/models/BaseSymfonyRecord.php b/models/BaseSymfonyRecord.php new file mode 100644 index 000000000..e8a45d68e --- /dev/null +++ b/models/BaseSymfonyRecord.php @@ -0,0 +1,13 @@ +hasColumn('name', 'string', 30); + } + +} diff --git a/models/PluginSymfonyRecord.php b/models/PluginSymfonyRecord.php new file mode 100644 index 000000000..5cd72f599 --- /dev/null +++ b/models/PluginSymfonyRecord.php @@ -0,0 +1,15 @@ + + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @category Object Relational Mapping + * @link www.phpdoctrine.com + * @since 1.0 + * @version $Revision$ + */ + +class Doctrine_Record_Inheritance_TestCase extends Doctrine_UnitTestCase +{ + public function prepareTables() + { + $this->tables = array_merge($this->tables, array('SymfonyRecord')); + parent::prepareTables(); + } + public function prepareData() + { + parent::prepareData(); + } + + public function testInit() + { + $record = new SymfonyRecord(); + $record['name'] = 'Test me'; + $record->save(); + } + + public function testInstantiatingRecordWithAbstractParents() + { + // load our record + $record = Doctrine_Query::create()->query( + 'SELECT * FROM SymfonyRecord r', array())->getFirst(); + + // did we get a record object? + $this->assertTrue($record instanceof SymfonyRecord); + $this->assertTrue($record->exists()); + + // does it have the appropriate parentage? + $this->assertTrue($record instanceof PluginSymfonyRecord); + $this->assertTrue($record instanceof BaseSymfonyRecord); + $this->assertTrue($record instanceof Doctrine_Record); + + // does it have the expected data? + $this->assertEqual($record['name'], 'Test me'); + + + } +} diff --git a/tests/run.php b/tests/run.php index db2ff96b8..fd2faff15 100644 --- a/tests/run.php +++ b/tests/run.php @@ -210,6 +210,7 @@ $record->addTestCase(new Doctrine_Record_SerializeUnserialize_TestCase()); $record->addTestCase(new Doctrine_Record_Lock_TestCase()); $record->addTestCase(new Doctrine_Record_ZeroValues_TestCase()); //$record->addTestCase(new Doctrine_Record_SaveBlankRecord_TestCase()); +$record->addTestCase(new Doctrine_Record_Inheritance_TestCase()); $test->addTestCase($record); $test->addTestCase(new Doctrine_CustomPrimaryKey_TestCase());