/** * Tests DataObject::hasOwnTableDatabaseField */ public function testHasOwnTableDatabaseFieldWithVersioned() { $noversion = new DataObject(); $versioned = new VersionedTest_DataObject(); $versionedSub = new VersionedTest_Subclass(); $versionedAno = new VersionedTest_AnotherSubclass(); $versionField = new VersionedTest_UnversionedWithField(); $this->assertFalse((bool) $noversion->hasOwnTableDatabaseField('Version'), 'Plain models have no version field.'); $this->assertEquals('Int', $versioned->hasOwnTableDatabaseField('Version'), 'The versioned ext adds an Int version field.'); $this->assertEquals(null, $versionedSub->hasOwnTableDatabaseField('Version'), 'Sub-classes of a versioned model don\'t have a Version field.'); $this->assertEquals(null, $versionedAno->hasOwnTableDatabaseField('Version'), 'Sub-classes of a versioned model don\'t have a Version field.'); $this->assertEquals('Varchar', $versionField->hasOwnTableDatabaseField('Version'), 'Models w/o Versioned can have their own Version field.'); }