Rajout de doctrine/orm
[zf2.biz/application_blanche.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Mapping / YamlMappingDriverTest.php
diff --git a/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Mapping/YamlMappingDriverTest.php b/vendor/doctrine/orm/tests/Doctrine/Tests/ORM/Mapping/YamlMappingDriverTest.php
new file mode 100644 (file)
index 0000000..91dd7e3
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+
+namespace Doctrine\Tests\ORM\Mapping;
+
+use Doctrine\ORM\Mapping\ClassMetadata,
+    Doctrine\ORM\Mapping\Driver\XmlDriver,
+    Doctrine\ORM\Mapping\Driver\YamlDriver;
+
+require_once __DIR__ . '/../../TestInit.php';
+
+class YamlMappingDriverTest extends AbstractMappingDriverTest
+{
+    protected function _loadDriver()
+    {
+        if (!class_exists('Symfony\Component\Yaml\Yaml', true)) {
+            $this->markTestSkipped('Please install Symfony YAML Component into the include path of your PHP installation.');
+        }
+
+        return new YamlDriver(__DIR__ . DIRECTORY_SEPARATOR . 'yaml');
+    }
+
+    /**
+     * @group DDC-671
+     *
+     * Entities for this test are in AbstractMappingDriverTest
+     */
+    public function testJoinTablesWithMappedSuperclassForYamlDriver()
+    {
+        $yamlDriver = $this->_loadDriver();
+        $yamlDriver->getLocator()->addPaths(array(__DIR__ . DIRECTORY_SEPARATOR . 'yaml'));
+
+        $em = $this->_getTestEntityManager();
+        $em->getConfiguration()->setMetadataDriverImpl($yamlDriver);
+        $factory = new \Doctrine\ORM\Mapping\ClassMetadataFactory();
+        $factory->setEntityManager($em);
+
+        $classPage = new ClassMetadata('Doctrine\Tests\Models\DirectoryTree\File');
+        $classPage = $factory->getMetadataFor('Doctrine\Tests\Models\DirectoryTree\File');
+        $this->assertEquals('Doctrine\Tests\Models\DirectoryTree\File', $classPage->associationMappings['parentDirectory']['sourceEntity']);
+
+        $classDirectory = new ClassMetadata('Doctrine\Tests\Models\DirectoryTree\Directory');
+        $classDirectory = $factory->getMetadataFor('Doctrine\Tests\Models\DirectoryTree\Directory');
+        $this->assertEquals('Doctrine\Tests\Models\DirectoryTree\Directory', $classDirectory->associationMappings['parentDirectory']['sourceEntity']);
+    }
+
+    /**
+     * @group DDC-1468
+     *
+     * @expectedException Doctrine\Common\Persistence\Mapping\MappingException
+     * @expectedExceptionMessage Invalid mapping file 'Doctrine.Tests.Models.Generic.SerializationModel.dcm.yml' for class 'Doctrine\Tests\Models\Generic\SerializationModel'.
+     */
+    public function testInvalidMappingFileException()
+    {
+        $this->createClassMetadata('Doctrine\Tests\Models\Generic\SerializationModel');
+    }
+
+}