From e6f465ec803c49c40912ce6f8914066e04b2ba23 Mon Sep 17 00:00:00 2001 From: "Jonathan H. Wage" Date: Wed, 16 Jun 2010 11:10:03 -0400 Subject: [PATCH] [DDC-641] Fixing issue with XmlExporter cascade options --- .../ORM/Tools/Export/Driver/XmlExporter.php | 10 +++++----- .../Export/AbstractClassMetadataExporterTest.php | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php b/lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php index 23466a1b9..0498cc08a 100644 --- a/lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php +++ b/lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php @@ -266,19 +266,19 @@ class XmlExporter extends AbstractExporter } $cascade = array(); if ($associationMapping->isCascadeRemove) { - $cascade[] = 'remove'; + $cascade[] = 'cascade-remove'; } if ($associationMapping->isCascadePersist) { - $cascade[] = 'persist'; + $cascade[] = 'cascade-persist'; } if ($associationMapping->isCascadeRefresh) { - $cascade[] = 'refresh'; + $cascade[] = 'cascade-refresh'; } if ($associationMapping->isCascadeMerge) { - $cascade[] = 'merge'; + $cascade[] = 'cascade-merge'; } if ($associationMapping->isCascadeDetach) { - $cascade[] = 'detach'; + $cascade[] = 'cascade-detach'; } if ($cascade) { $cascadeXml = $associationMappingXml->addChild('cascade'); diff --git a/tests/Doctrine/Tests/ORM/Tools/Export/AbstractClassMetadataExporterTest.php b/tests/Doctrine/Tests/ORM/Tools/Export/AbstractClassMetadataExporterTest.php index f1ba8ba92..9a6a2b9ff 100644 --- a/tests/Doctrine/Tests/ORM/Tools/Export/AbstractClassMetadataExporterTest.php +++ b/tests/Doctrine/Tests/ORM/Tools/Export/AbstractClassMetadataExporterTest.php @@ -290,6 +290,20 @@ abstract class AbstractClassMetadataExporterTest extends \Doctrine\Tests\OrmTest return $class; } + /** + * @depends testLifecycleCallbacksAreExported + * @param ClassMetadataInfo $class + */ + public function testCascadeIsExported($class) + { + $this->assertTrue($class->associationMappings['phonenumbers']->isCascadePersist); + $this->assertFalse($class->associationMappings['phonenumbers']->isCascadeMerge); + $this->assertFalse($class->associationMappings['phonenumbers']->isCascadeRemove); + $this->assertFalse($class->associationMappings['phonenumbers']->isCascadeRefresh); + + return $class; + } + public function __destruct() { $type = $this->_getType();