Merge pull request #396 from Ocramius/DDC-1893
DDC-1893 - Updating configuration to reflect latest Doctrine Common changes
This commit is contained in:
commit
3b04cf5b2f
@ -315,7 +315,7 @@ the association. Example:
|
||||
private $user;
|
||||
//...
|
||||
}
|
||||
|
||||
|
||||
// SINCE BETA1
|
||||
// User class DOES NOT CHANGE
|
||||
class Address
|
||||
@ -325,7 +325,7 @@ the association. Example:
|
||||
private $user;
|
||||
//...
|
||||
}
|
||||
|
||||
|
||||
Thus, the inversedBy attribute is the counterpart to the mappedBy attribute. This change
|
||||
was necessary to enable some simplifications and further performance improvements. We
|
||||
apologize for the inconvenience.
|
||||
@ -344,7 +344,7 @@ had a DQL query like this:
|
||||
|
||||
[sql]
|
||||
SELECT u.id, u.name FROM User u
|
||||
|
||||
|
||||
Since BETA1, simple state field path expressions in the select clause are used to select
|
||||
object fields as plain scalar values (something that was not possible before).
|
||||
To achieve the same result as previously (that is, a partial object with only id and name populated)
|
||||
@ -427,7 +427,7 @@ With new required method AbstractTask::buildDocumentation, its implementation de
|
||||
# Upgrade from 2.0-ALPHA2 to 2.0-ALPHA3
|
||||
|
||||
This section details the changes made to Doctrine 2.0-ALPHA3 to make it easier for you
|
||||
to upgrade your projects to use this version.
|
||||
to upgrade your projects to use this version.
|
||||
|
||||
## CLI Changes
|
||||
|
||||
|
@ -28,7 +28,9 @@ use Doctrine\Common\Cache\Cache,
|
||||
Doctrine\ORM\Mapping\QuoteStrategy,
|
||||
Doctrine\ORM\Mapping\DefaultQuoteStrategy,
|
||||
Doctrine\ORM\Mapping\NamingStrategy,
|
||||
Doctrine\ORM\Mapping\DefaultNamingStrategy;
|
||||
Doctrine\ORM\Mapping\DefaultNamingStrategy,
|
||||
Doctrine\Common\Annotations\SimpleAnnotationReader,
|
||||
Doctrine\Common\Annotations\CachedReader;
|
||||
|
||||
/**
|
||||
* Configuration container for all configuration options of Doctrine.
|
||||
@ -124,45 +126,30 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new default annotation driver with a correctly configured annotation reader.
|
||||
* Add a new default annotation driver with a correctly configured annotation reader. If $useSimpleAnnotationReader
|
||||
* is true, the notation `@Entity` will work, otherwise, the notation `@ORM\Entity` will be supported.
|
||||
*
|
||||
* @param array $paths
|
||||
* @return Mapping\Driver\AnnotationDriver
|
||||
* @param bool $useSimpleAnnotationReader
|
||||
* @return AnnotationDriver
|
||||
*/
|
||||
public function newDefaultAnnotationDriver($paths = array())
|
||||
public function newDefaultAnnotationDriver($paths = array(), $useSimpleAnnotationReader = true)
|
||||
{
|
||||
switch (true) {
|
||||
case (version_compare(\Doctrine\Common\Version::VERSION, '2.2.0-DEV', '>=')):
|
||||
// Register the ORM Annotations in the AnnotationRegistry
|
||||
AnnotationRegistry::registerFile(__DIR__ . '/Mapping/Driver/DoctrineAnnotations.php');
|
||||
AnnotationRegistry::registerFile(__DIR__ . '/Mapping/Driver/DoctrineAnnotations.php');
|
||||
|
||||
$reader = new \Doctrine\Common\Annotations\SimpleAnnotationReader();
|
||||
$reader->addNamespace('Doctrine\ORM\Mapping');
|
||||
if ($useSimpleAnnotationReader) {
|
||||
// Register the ORM Annotations in the AnnotationRegistry
|
||||
$reader = new SimpleAnnotationReader();
|
||||
$reader->addNamespace('Doctrine\ORM\Mapping');
|
||||
$cachedReader = new CachedReader($reader, new ArrayCache());
|
||||
|
||||
$reader = new \Doctrine\Common\Annotations\CachedReader($reader, new ArrayCache());
|
||||
break;
|
||||
|
||||
case (version_compare(\Doctrine\Common\Version::VERSION, '2.1.0-DEV', '>=')):
|
||||
// Register the ORM Annotations in the AnnotationRegistry
|
||||
AnnotationRegistry::registerFile(__DIR__ . '/Mapping/Driver/DoctrineAnnotations.php');
|
||||
|
||||
$reader = new AnnotationReader();
|
||||
$reader->setDefaultAnnotationNamespace('Doctrine\ORM\Mapping\\');
|
||||
$reader->setIgnoreNotImportedAnnotations(true);
|
||||
$reader->setEnableParsePhpImports(false);
|
||||
|
||||
$reader = new \Doctrine\Common\Annotations\CachedReader(
|
||||
new \Doctrine\Common\Annotations\IndexedReader($reader), new ArrayCache()
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
$reader = new AnnotationReader();
|
||||
$reader->setDefaultAnnotationNamespace('Doctrine\ORM\Mapping\\');
|
||||
break;
|
||||
return new AnnotationDriver($cachedReader, (array) $paths);
|
||||
}
|
||||
|
||||
return new AnnotationDriver($reader, (array) $paths);
|
||||
return new AnnotationDriver(
|
||||
new CachedReader(new AnnotationReader(), new ArrayCache()),
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -180,8 +167,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
* Resolves a registered namespace alias to the full namespace.
|
||||
*
|
||||
* @param string $entityNamespaceAlias
|
||||
* @throws ORMException
|
||||
* @return string
|
||||
* @throws MappingException
|
||||
*/
|
||||
public function getEntityNamespace($entityNamespaceAlias)
|
||||
{
|
||||
@ -195,8 +182,7 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
/**
|
||||
* Set the entity alias map
|
||||
*
|
||||
* @param array $entityAliasMap
|
||||
* @return void
|
||||
* @param array $entityNamespaces
|
||||
*/
|
||||
public function setEntityNamespaces(array $entityNamespaces)
|
||||
{
|
||||
@ -307,6 +293,7 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
* Gets a previously registered named DQL query.
|
||||
*
|
||||
* @param string $name The name of the query.
|
||||
* @throws ORMException
|
||||
* @return string The DQL query.
|
||||
*/
|
||||
public function getNamedQuery($name)
|
||||
@ -321,9 +308,9 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
/**
|
||||
* Adds a named native query to the configuration.
|
||||
*
|
||||
* @param string $name The name of the query.
|
||||
* @param string $sql The native SQL query string.
|
||||
* @param ResultSetMapping $rsm The ResultSetMapping used for the results of the SQL query.
|
||||
* @param string $name The name of the query.
|
||||
* @param string $sql The native SQL query string.
|
||||
* @param Query\ResultSetMapping $rsm The ResultSetMapping used for the results of the SQL query.
|
||||
*/
|
||||
public function addNamedNativeQuery($name, $sql, Query\ResultSetMapping $rsm)
|
||||
{
|
||||
@ -333,9 +320,10 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
/**
|
||||
* Gets the components of a previously registered named native query.
|
||||
*
|
||||
* @param string $name The name of the query.
|
||||
* @return array A tuple with the first element being the SQL string and the second
|
||||
* element being the ResultSetMapping.
|
||||
* @param string $name The name of the query.
|
||||
* @throws ORMException
|
||||
* @return array A tuple with the first element being the SQL string and the second
|
||||
* element being the ResultSetMapping.
|
||||
*/
|
||||
public function getNamedNativeQuery($name)
|
||||
{
|
||||
@ -377,6 +365,7 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $className
|
||||
* @throws ORMException
|
||||
*/
|
||||
public function addCustomStringFunction($name, $className)
|
||||
{
|
||||
@ -428,6 +417,7 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $className
|
||||
* @throws ORMException
|
||||
*/
|
||||
public function addCustomNumericFunction($name, $className)
|
||||
{
|
||||
@ -479,6 +469,7 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $className
|
||||
* @throws ORMException
|
||||
*/
|
||||
public function addCustomDatetimeFunction($name, $className)
|
||||
{
|
||||
@ -548,7 +539,7 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
/**
|
||||
* Set a class metadata factory.
|
||||
*
|
||||
* @param string $cmf
|
||||
* @param string $cmfName
|
||||
*/
|
||||
public function setClassMetadataFactoryName($cmfName)
|
||||
{
|
||||
@ -646,7 +637,7 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
if ( ! isset($this->_attributes['namingStrategy'])) {
|
||||
$this->_attributes['namingStrategy'] = new DefaultNamingStrategy();
|
||||
}
|
||||
|
||||
|
||||
return $this->_attributes['namingStrategy'];
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,17 @@ class ORMException extends Exception
|
||||
public static function missingMappingDriverImpl()
|
||||
{
|
||||
return new self("It's a requirement to specify a Metadata Driver and pass it ".
|
||||
"to Doctrine\ORM\Configuration::setMetadataDriverImpl().");
|
||||
"to Doctrine\\ORM\\Configuration::setMetadataDriverImpl().");
|
||||
}
|
||||
|
||||
public static function namedQueryNotFound($queryName)
|
||||
{
|
||||
return new self('Could not find a named query by the name "' . $queryName . '"');
|
||||
}
|
||||
|
||||
public static function namedNativeQueryNotFound($nativeQueryName)
|
||||
{
|
||||
return new self('Could not find a named native query by the name "' . $nativeQueryName . '"');
|
||||
}
|
||||
|
||||
public static function entityMissingForeignAssignedId($entity, $relatedEntity)
|
||||
@ -54,6 +64,7 @@ class ORMException extends Exception
|
||||
"you need to adjust the metadata mapping accordingly."
|
||||
);
|
||||
}
|
||||
|
||||
public static function unrecognizedField($field)
|
||||
{
|
||||
return new self("Unrecognized field: $field");
|
||||
@ -110,7 +121,7 @@ class ORMException extends Exception
|
||||
}
|
||||
|
||||
public static function invalidResultCacheDriver() {
|
||||
return new self("Invalid result cache driver; it must implement \Doctrine\Common\Cache\Cache.");
|
||||
return new self("Invalid result cache driver; it must implement Doctrine\\Common\\Cache\\Cache.");
|
||||
}
|
||||
|
||||
public static function notSupported() {
|
||||
@ -142,7 +153,7 @@ class ORMException extends Exception
|
||||
public static function invalidEntityRepository($className)
|
||||
{
|
||||
return new self("Invalid repository class '".$className."'. ".
|
||||
"it must be a Doctrine\ORM\EntityRepository.");
|
||||
"it must be a Doctrine\\ORM\\EntityRepository.");
|
||||
}
|
||||
|
||||
public static function missingIdentifierField($className, $fieldName)
|
||||
|
@ -111,12 +111,13 @@ class Setup
|
||||
* @param boolean $isDevMode
|
||||
* @param string $proxyDir
|
||||
* @param Cache $cache
|
||||
* @param bool $useSimpleAnnotationReader
|
||||
* @return Configuration
|
||||
*/
|
||||
static public function createAnnotationMetadataConfiguration(array $paths, $isDevMode = false, $proxyDir = null, Cache $cache = null)
|
||||
static public function createAnnotationMetadataConfiguration(array $paths, $isDevMode = false, $proxyDir = null, Cache $cache = null, $useSimpleAnnotationReader = true)
|
||||
{
|
||||
$config = self::createConfiguration($isDevMode, $proxyDir, $cache);
|
||||
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver($paths));
|
||||
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver($paths, $useSimpleAnnotationReader));
|
||||
return $config;
|
||||
}
|
||||
|
||||
|
@ -78,7 +78,7 @@ class EntityManagerMock extends \Doctrine\ORM\EntityManager
|
||||
$config = new \Doctrine\ORM\Configuration();
|
||||
$config->setProxyDir(__DIR__ . '/../Proxies');
|
||||
$config->setProxyNamespace('Doctrine\Tests\Proxies');
|
||||
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver());
|
||||
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver(array(), true));
|
||||
}
|
||||
if (is_null($eventManager)) {
|
||||
$eventManager = new \Doctrine\Common\EventManager();
|
||||
|
261
tests/Doctrine/Tests/ORM/ConfigurationTest.php
Normal file
261
tests/Doctrine/Tests/ORM/ConfigurationTest.php
Normal file
@ -0,0 +1,261 @@
|
||||
<?php
|
||||
|
||||
namespace Doctrine\Tests\ORM;
|
||||
|
||||
use Doctrine\ORM\Mapping as AnnotationNamespace;
|
||||
use Doctrine\ORM\Configuration;
|
||||
use Doctrine\ORM\ORMException;
|
||||
use ReflectionClass;
|
||||
use PHPUnit_Framework_TestCase;
|
||||
|
||||
require_once __DIR__ . '/../TestInit.php';
|
||||
|
||||
/**
|
||||
* Tests for the Configuration object
|
||||
* @author Marco Pivetta <ocramius@gmail.com>
|
||||
*/
|
||||
class ConfigurationTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @var Configuration
|
||||
*/
|
||||
private $configuration;
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
$this->configuration = new Configuration();
|
||||
}
|
||||
|
||||
public function testSetGetProxyDir()
|
||||
{
|
||||
$this->assertSame(null, $this->configuration->getProxyDir()); // defaults
|
||||
|
||||
$this->configuration->setProxyDir(__DIR__);
|
||||
$this->assertSame(__DIR__, $this->configuration->getProxyDir());
|
||||
}
|
||||
|
||||
public function testSetGetAutoGenerateProxyClasses()
|
||||
{
|
||||
$this->assertSame(true, $this->configuration->getAutoGenerateProxyClasses()); // defaults
|
||||
|
||||
$this->configuration->setAutoGenerateProxyClasses(false);
|
||||
$this->assertSame(false, $this->configuration->getAutoGenerateProxyClasses());
|
||||
}
|
||||
|
||||
public function testSetGetProxyNamespace()
|
||||
{
|
||||
$this->assertSame(null, $this->configuration->getProxyNamespace()); // defaults
|
||||
|
||||
$this->configuration->setProxyNamespace(__NAMESPACE__);
|
||||
$this->assertSame(__NAMESPACE__, $this->configuration->getProxyNamespace());
|
||||
}
|
||||
|
||||
public function testSetGetMetadataDriverImpl()
|
||||
{
|
||||
$this->assertSame(null, $this->configuration->getMetadataDriverImpl()); // defaults
|
||||
|
||||
$metadataDriver = $this->getMock('Doctrine\Common\Persistence\Mapping\Driver\MappingDriver');
|
||||
$this->configuration->setMetadataDriverImpl($metadataDriver);
|
||||
$this->assertSame($metadataDriver, $this->configuration->getMetadataDriverImpl());
|
||||
}
|
||||
|
||||
public function testNewDefaultAnnotationDriver()
|
||||
{
|
||||
$paths = array(__DIR__);
|
||||
$reflectionClass = new ReflectionClass(__NAMESPACE__ . '\ConfigurationTestAnnotationReaderChecker');
|
||||
|
||||
$annotationDriver = $this->configuration->newDefaultAnnotationDriver($paths, false);
|
||||
$reader = $annotationDriver->getReader();
|
||||
$annotation = $reader->getMethodAnnotation(
|
||||
$reflectionClass->getMethod('namespacedAnnotationMethod'),
|
||||
'Doctrine\ORM\Mapping\PrePersist'
|
||||
);
|
||||
$this->assertInstanceOf('Doctrine\ORM\Mapping\PrePersist', $annotation);
|
||||
|
||||
$annotationDriver = $this->configuration->newDefaultAnnotationDriver($paths);
|
||||
$reader = $annotationDriver->getReader();
|
||||
$annotation = $reader->getMethodAnnotation(
|
||||
$reflectionClass->getMethod('simpleAnnotationMethod'),
|
||||
'Doctrine\ORM\Mapping\PrePersist'
|
||||
);
|
||||
$this->assertInstanceOf('Doctrine\ORM\Mapping\PrePersist', $annotation);
|
||||
}
|
||||
|
||||
public function testSetGetEntityNamespace()
|
||||
{
|
||||
$this->configuration->addEntityNamespace('TestNamespace', __NAMESPACE__);
|
||||
$this->assertSame(__NAMESPACE__, $this->configuration->getEntityNamespace('TestNamespace'));
|
||||
$namespaces = array('OtherNamespace' => __NAMESPACE__);
|
||||
$this->configuration->setEntityNamespaces($namespaces);
|
||||
$this->assertSame($namespaces, $this->configuration->getEntityNamespaces());
|
||||
$this->setExpectedException('Doctrine\ORM\ORMException');
|
||||
$this->configuration->getEntityNamespace('NonExistingNamespace');
|
||||
}
|
||||
|
||||
public function testSetGetQueryCacheImpl()
|
||||
{
|
||||
$this->assertSame(null, $this->configuration->getQueryCacheImpl()); // defaults
|
||||
$queryCacheImpl = $this->getMock('Doctrine\Common\Cache\Cache');
|
||||
$this->configuration->setQueryCacheImpl($queryCacheImpl);
|
||||
$this->assertSame($queryCacheImpl, $this->configuration->getQueryCacheImpl());
|
||||
}
|
||||
|
||||
public function testSetGetHydrationCacheImpl()
|
||||
{
|
||||
$this->assertSame(null, $this->configuration->getHydrationCacheImpl()); // defaults
|
||||
$queryCacheImpl = $this->getMock('Doctrine\Common\Cache\Cache');
|
||||
$this->configuration->setHydrationCacheImpl($queryCacheImpl);
|
||||
$this->assertSame($queryCacheImpl, $this->configuration->getHydrationCacheImpl());
|
||||
}
|
||||
|
||||
public function testSetGetMetadataCacheImpl()
|
||||
{
|
||||
$this->assertSame(null, $this->configuration->getMetadataCacheImpl()); // defaults
|
||||
$queryCacheImpl = $this->getMock('Doctrine\Common\Cache\Cache');
|
||||
$this->configuration->setMetadataCacheImpl($queryCacheImpl);
|
||||
$this->assertSame($queryCacheImpl, $this->configuration->getMetadataCacheImpl());
|
||||
}
|
||||
|
||||
public function testAddGetNamedQuery()
|
||||
{
|
||||
$dql = 'SELECT u FROM User u';
|
||||
$this->configuration->addNamedQuery('QueryName', $dql);
|
||||
$this->assertSame($dql, $this->configuration->getNamedQuery('QueryName'));
|
||||
$this->setExpectedException('Doctrine\ORM\ORMException');
|
||||
$this->configuration->getNamedQuery('NonExistingQuery');
|
||||
}
|
||||
|
||||
public function testAddGetNamedNativeQuery()
|
||||
{
|
||||
$sql = 'SELECT * FROM user';
|
||||
$rsm = $this->getMock('Doctrine\ORM\Query\ResultSetMapping');
|
||||
$this->configuration->addNamedNativeQuery('QueryName', $sql, $rsm);
|
||||
$fetched = $this->configuration->getNamedNativeQuery('QueryName');
|
||||
$this->assertSame($sql, $fetched[0]);
|
||||
$this->assertSame($rsm, $fetched[1]);
|
||||
$this->setExpectedException('Doctrine\ORM\ORMException');
|
||||
$this->configuration->getNamedQuery('NonExistingQuery');
|
||||
}
|
||||
|
||||
public function ensureProductionSettings()
|
||||
{
|
||||
$cache = $this->getMock('Doctrine\Common\Cache\Cache');
|
||||
$this->configuration->setAutoGenerateProxyClasses(true);
|
||||
|
||||
try {
|
||||
$this->configuration->ensureProductionSettings();
|
||||
$this->fail('Didn\'t check all production settings');
|
||||
} catch (ORMException $e) {}
|
||||
|
||||
$this->configuration->setQueryCacheImpl($cache);
|
||||
|
||||
try {
|
||||
$this->configuration->ensureProductionSettings();
|
||||
$this->fail('Didn\'t check all production settings');
|
||||
} catch (ORMException $e) {}
|
||||
|
||||
$this->configuration->setMetadataCacheImpl($cache);
|
||||
|
||||
try {
|
||||
$this->configuration->ensureProductionSettings();
|
||||
$this->fail('Didn\'t check all production settings');
|
||||
} catch (ORMException $e) {}
|
||||
|
||||
$this->configuration->setAutoGenerateProxyClasses(false);
|
||||
$this->configuration->ensureProductionSettings();
|
||||
}
|
||||
|
||||
public function testAddGetCustomStringFunction()
|
||||
{
|
||||
$this->configuration->addCustomStringFunction('FunctionName', __CLASS__);
|
||||
$this->assertSame(__CLASS__, $this->configuration->getCustomStringFunction('FunctionName'));
|
||||
$this->assertSame(null, $this->configuration->getCustomStringFunction('NonExistingFunction'));
|
||||
$this->configuration->setCustomStringFunctions(array('OtherFunctionName' => __CLASS__));
|
||||
$this->assertSame(__CLASS__, $this->configuration->getCustomStringFunction('OtherFunctionName'));
|
||||
$this->setExpectedException('Doctrine\ORM\ORMException');
|
||||
$this->configuration->addCustomStringFunction('concat', __CLASS__);
|
||||
}
|
||||
|
||||
public function testAddGetCustomNumericFunction()
|
||||
{
|
||||
$this->configuration->addCustomNumericFunction('FunctionName', __CLASS__);
|
||||
$this->assertSame(__CLASS__, $this->configuration->getCustomNumericFunction('FunctionName'));
|
||||
$this->assertSame(null, $this->configuration->getCustomNumericFunction('NonExistingFunction'));
|
||||
$this->configuration->setCustomNumericFunctions(array('OtherFunctionName' => __CLASS__));
|
||||
$this->assertSame(__CLASS__, $this->configuration->getCustomNumericFunction('OtherFunctionName'));
|
||||
$this->setExpectedException('Doctrine\ORM\ORMException');
|
||||
$this->configuration->addCustomNumericFunction('abs', __CLASS__);
|
||||
}
|
||||
|
||||
public function testAddGetCustomDatetimeFunction()
|
||||
{
|
||||
$this->configuration->addCustomDatetimeFunction('FunctionName', __CLASS__);
|
||||
$this->assertSame(__CLASS__, $this->configuration->getCustomDatetimeFunction('FunctionName'));
|
||||
$this->assertSame(null, $this->configuration->getCustomDatetimeFunction('NonExistingFunction'));
|
||||
$this->configuration->setCustomDatetimeFunctions(array('OtherFunctionName' => __CLASS__));
|
||||
$this->assertSame(__CLASS__, $this->configuration->getCustomDatetimeFunction('OtherFunctionName'));
|
||||
$this->setExpectedException('Doctrine\ORM\ORMException');
|
||||
$this->configuration->addCustomDatetimeFunction('date_add', __CLASS__);
|
||||
}
|
||||
|
||||
public function testAddGetCustomHydrationMode()
|
||||
{
|
||||
$this->assertSame(null, $this->configuration->getCustomHydrationMode('NonExisting'));
|
||||
$this->configuration->addCustomHydrationMode('HydrationModeName', __CLASS__);
|
||||
$this->assertSame(__CLASS__, $this->configuration->getCustomHydrationMode('HydrationModeName'));
|
||||
}
|
||||
|
||||
public function testSetGetClassMetadataFactoryName()
|
||||
{
|
||||
$this->assertSame('Doctrine\ORM\Mapping\ClassMetadataFactory', $this->configuration->getClassMetadataFactoryName());
|
||||
$this->configuration->setClassMetadataFactoryName(__CLASS__);
|
||||
$this->assertSame(__CLASS__, $this->configuration->getClassMetadataFactoryName());
|
||||
}
|
||||
|
||||
public function testAddGetFilters()
|
||||
{
|
||||
$this->assertSame(null, $this->configuration->getFilterClassName('NonExistingFilter'));
|
||||
$this->configuration->addFilter('FilterName', __CLASS__);
|
||||
$this->assertSame(__CLASS__, $this->configuration->getFilterClassName('FilterName'));
|
||||
}
|
||||
|
||||
public function setDefaultRepositoryClassName()
|
||||
{
|
||||
$this->assertSame('Doctrine\ORM\EntityRepository', $this->configuration->getDefaultRepositoryClassName());
|
||||
$repositoryClass = 'Doctrine\Tests\Models\DDC753\DDC753CustomRepository';
|
||||
$this->configuration->setDefaultRepositoryClassName($repositoryClass);
|
||||
$this->assertSame($repositoryClass, $this->configuration->getDefaultRepositoryClassName());
|
||||
$this->setExpectedException('Doctrine\ORM\ORMException');
|
||||
$this->configuration->setDefaultRepositoryClassName(__CLASS__);
|
||||
}
|
||||
|
||||
public function testSetGetNamingStrategy()
|
||||
{
|
||||
$this->assertInstanceOf('Doctrine\ORM\Mapping\NamingStrategy', $this->configuration->getNamingStrategy());
|
||||
$namingStrategy = $this->getMock('Doctrine\ORM\Mapping\NamingStrategy');
|
||||
$this->configuration->setNamingStrategy($namingStrategy);
|
||||
$this->assertSame($namingStrategy, $this->configuration->getNamingStrategy());
|
||||
}
|
||||
|
||||
public function testSetGetQuoteStrategy()
|
||||
{
|
||||
$this->assertInstanceOf('Doctrine\ORM\Mapping\QuoteStrategy', $this->configuration->getQuoteStrategy());
|
||||
$quoteStrategy = $this->getMock('Doctrine\ORM\Mapping\QuoteStrategy');
|
||||
$this->configuration->setQuoteStrategy($quoteStrategy);
|
||||
$this->assertSame($quoteStrategy, $this->configuration->getQuoteStrategy());
|
||||
}
|
||||
}
|
||||
|
||||
class ConfigurationTestAnnotationReaderChecker
|
||||
{
|
||||
/** @PrePersist */
|
||||
public function simpleAnnotationMethod()
|
||||
{
|
||||
}
|
||||
|
||||
/** @AnnotationNamespace\PrePersist */
|
||||
public function namespacedAnnotationMethod()
|
||||
{
|
||||
}
|
||||
}
|
@ -95,7 +95,7 @@ class LockAgentWorker
|
||||
$config->setProxyNamespace('MyProject\Proxies');
|
||||
$config->setAutoGenerateProxyClasses(true);
|
||||
|
||||
$annotDriver = $config->newDefaultAnnotationDriver(array(__DIR__ . '/../../../Models/'));
|
||||
$annotDriver = $config->newDefaultAnnotationDriver(array(__DIR__ . '/../../../Models/'), true);
|
||||
$config->setMetadataDriverImpl($annotDriver);
|
||||
|
||||
$cache = new \Doctrine\Common\Cache\ArrayCache();
|
||||
|
@ -342,7 +342,7 @@ abstract class OrmFunctionalTestCase extends OrmTestCase
|
||||
$config->setProxyDir(__DIR__ . '/Proxies');
|
||||
$config->setProxyNamespace('Doctrine\Tests\Proxies');
|
||||
|
||||
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver());
|
||||
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver(array(), true));
|
||||
|
||||
$conn = static::$_sharedConn;
|
||||
$conn->getConfiguration()->setSQLLogger($this->_sqlLoggerStack);
|
||||
|
@ -76,7 +76,7 @@ abstract class OrmTestCase extends DoctrineTestCase
|
||||
$config = new \Doctrine\ORM\Configuration();
|
||||
|
||||
$config->setMetadataCacheImpl($metadataCache);
|
||||
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver());
|
||||
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver(array(), true));
|
||||
$config->setQueryCacheImpl(self::getSharedQueryCacheImpl());
|
||||
$config->setProxyDir(__DIR__ . '/Proxies');
|
||||
$config->setProxyNamespace('Doctrine\Tests\Proxies');
|
||||
|
Loading…
x
Reference in New Issue
Block a user