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() { $em = $this->_getTestEntityManager(); $em->getConfiguration()->setMetadataDriverImpl($this->_loadDriver()); $classPage = $em->getClassMetadata('Doctrine\Tests\ORM\Mapping\Page'); $this->assertEquals('Doctrine\Tests\ORM\Mapping\Page', $classPage->associationMappings['parentDirectory']['sourceEntity']); $classDirectory = $em->getClassMetadata('Doctrine\Tests\ORM\Mapping\Directory'); $this->assertEquals('Doctrine\Tests\ORM\Mapping\Directory', $classDirectory->associationMappings['parentDirectory']['sourceEntity']); $dql = "SELECT f FROM Doctrine\Tests\ORM\Mapping\Page f JOIN f.parentDirectory d " . "WHERE (d.url = :url) AND (f.extension = :extension)"; $query = $em->createQuery($dql) ->setParameter('url', "test") ->setParameter('extension', "extension"); $this->assertEquals( 'SELECT c0_.id AS id0, c0_.extension AS extension1, c0_.parent_directory_id AS parent_directory_id2 FROM core_content_pages c0_ INNER JOIN core_content_directories c1_ ON c0_.parent_directory_id = c1_.id WHERE (c1_.url = ?) AND (c0_.extension = ?)', $query->getSql() ); } }