58 lines
2.2 KiB
PHP
58 lines
2.2 KiB
PHP
<?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->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\ORM\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');
|
|
}
|
|
|
|
}
|