3 namespace Doctrine\Tests\ORM\Mapping;
5 use Doctrine\ORM\Mapping\ClassMetadata,
6 Doctrine\ORM\Mapping\Driver\XmlDriver,
7 Doctrine\ORM\Mapping\Driver\YamlDriver;
9 require_once __DIR__ . '/../../TestInit.php';
11 class YamlMappingDriverTest extends AbstractMappingDriverTest
13 protected function _loadDriver()
15 if (!class_exists('Symfony\Component\Yaml\Yaml', true)) {
16 $this->markTestSkipped('Please install Symfony YAML Component into the include path of your PHP installation.');
19 return new YamlDriver(__DIR__ . DIRECTORY_SEPARATOR . 'yaml');
25 * Entities for this test are in AbstractMappingDriverTest
27 public function testJoinTablesWithMappedSuperclassForYamlDriver()
29 $yamlDriver = $this->_loadDriver();
30 $yamlDriver->getLocator()->addPaths(array(__DIR__ . DIRECTORY_SEPARATOR . 'yaml'));
32 $em = $this->_getTestEntityManager();
33 $em->getConfiguration()->setMetadataDriverImpl($yamlDriver);
34 $factory = new \Doctrine\ORM\Mapping\ClassMetadataFactory();
35 $factory->setEntityManager($em);
37 $classPage = new ClassMetadata('Doctrine\Tests\Models\DirectoryTree\File');
38 $classPage = $factory->getMetadataFor('Doctrine\Tests\Models\DirectoryTree\File');
39 $this->assertEquals('Doctrine\Tests\Models\DirectoryTree\File', $classPage->associationMappings['parentDirectory']['sourceEntity']);
41 $classDirectory = new ClassMetadata('Doctrine\Tests\Models\DirectoryTree\Directory');
42 $classDirectory = $factory->getMetadataFor('Doctrine\Tests\Models\DirectoryTree\Directory');
43 $this->assertEquals('Doctrine\Tests\Models\DirectoryTree\Directory', $classDirectory->associationMappings['parentDirectory']['sourceEntity']);
49 * @expectedException Doctrine\Common\Persistence\Mapping\MappingException
50 * @expectedExceptionMessage Invalid mapping file 'Doctrine.Tests.Models.Generic.SerializationModel.dcm.yml' for class 'Doctrine\Tests\Models\Generic\SerializationModel'.
52 public function testInvalidMappingFileException()
54 $this->createClassMetadata('Doctrine\Tests\Models\Generic\SerializationModel');