From 34a8acba63b72d34b736fbaea3328bb34490d20d Mon Sep 17 00:00:00 2001 From: pookey Date: Tue, 17 Oct 2006 19:02:00 +0000 Subject: [PATCH] adding a test to show a situation where cascading inserts do not work --- tests/UnsortedTestCase.php | 29 +++++++++++++++++++++++++++++ tests/classes.php | 34 ++++++++++++++++++++++++++++++++-- tests/run.php | 4 ++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 tests/UnsortedTestCase.php diff --git a/tests/UnsortedTestCase.php b/tests/UnsortedTestCase.php new file mode 100644 index 000000000..097fe42fa --- /dev/null +++ b/tests/UnsortedTestCase.php @@ -0,0 +1,29 @@ +description = 'Package'; + + $packageverison = new PackageVersion(); + $packageverison->description = 'Version'; + + $packageverisonnotes = new PackageVersionNotes(); + $packageverisonnotes->description = 'Notes'; + + $package->Version[0] = $packageverison; + $package->Version[0]->Note[0] = $packageverisonnotes; + + $package->save(); + + $this->assertNotNull($package->id); + $this->assertNotNull($package->Version[0]->id); + $this->assertNotNull($package->Version[0]->Note[0]->id); + } +} diff --git a/tests/classes.php b/tests/classes.php index 7d010f6dc..fc9593985 100644 --- a/tests/classes.php +++ b/tests/classes.php @@ -68,7 +68,6 @@ class Group extends Entity { parent::setUp(); $this->hasMany("User","Groupuser.user_id"); $this->setInheritanceMap(array("type"=>1)); - } } class Error extends Doctrine_Record { @@ -128,7 +127,7 @@ class Phonenumber extends Doctrine_Record { $this->hasColumn("entity_id","integer"); } public function setUp() { - $this->hasOne("Entity", "Phonenumber.entity_id"); + $this->hasOne("Entity", "Phonenumber.entity_id"); } } @@ -558,5 +557,36 @@ class BoardWithPosition extends Doctrine_Record { $this->hasOne("CategoryWithPosition as Category", "BoardWithPosition.category_id"); } } +class Package extends Doctrine_Record { + public function setTableDefinition() { + $this->hasColumn('description', 'string', 255); + } + + public function setUp() + { + $this->ownsMany('PackageVersion as Version', 'PackageVersion.package_id'); + } +} +class PackageVersion extends Doctrine_Record { + public function setTableDefinition() { + $this->hasColumn('package_id', 'integer'); + $this->hasColumn('description', 'string', 255); + } + public function setUp() + { + $this->hasOne('Package', 'PackageVersion.package_id'); + $this->hasMany('PackageVersionNotes as Note', 'PackageVersionNotes.package_version_id'); + } +} +class PackageVersionNotes extends Doctrine_Record { + public function setTableDefinition() { + $this->hasColumn('package_version_id', 'integer'); + $this->hasColumn('description', 'string', 255); + } + public function setUp() + { + $this->hasOne('PackageVersion', 'PackageVersionNotes.package_version_id'); + } +} ?> diff --git a/tests/run.php b/tests/run.php index ff64f12ba..190902ac6 100644 --- a/tests/run.php +++ b/tests/run.php @@ -49,6 +49,9 @@ require_once("RelationTestCase.php"); require_once("DataDictSqliteTestCase.php"); require_once("CustomResultSetOrderTestCase.php"); +// unsorted tests are here, these should be moved somewhere sensible +require_once("UnsortedTestCase.php"); + error_reporting(E_ALL); print "
";
 
@@ -132,6 +135,7 @@ $test->addTestCase(new Doctrine_Query_From_TestCase());
 
 $test->addTestCase(new Doctrine_Query_Select_TestCase());
 
+$test->addTestCase(new Doctrine_UnsortedTestCase());
 
 //$test->addTestCase(new Doctrine_Cache_FileTestCase());
 //$test->addTestCase(new Doctrine_Cache_SqliteTestCase());