class ClassMetadataFactoryTest in Plug 7
Hierarchy
- class \Doctrine\Tests\Common\Persistence\Mapping\ClassMetadataFactoryTest extends \Doctrine\Tests\DoctrineTestCase
Expanded class hierarchy of ClassMetadataFactoryTest
File
- lib/
doctrine/ common/ tests/ Doctrine/ Tests/ Common/ Persistence/ Mapping/ ClassMetadataFactoryTest.php, line 12
Namespace
Doctrine\Tests\Common\Persistence\MappingView source
class ClassMetadataFactoryTest extends DoctrineTestCase {
/**
* @var TestClassMetadataFactory
*/
private $cmf;
public function setUp() {
$driver = $this
->getMock('Doctrine\\Common\\Persistence\\Mapping\\Driver\\MappingDriver');
$metadata = $this
->getMock('Doctrine\\Common\\Persistence\\Mapping\\ClassMetadata');
$this->cmf = new TestClassMetadataFactory($driver, $metadata);
}
public function testGetCacheDriver() {
$this
->assertNull($this->cmf
->getCacheDriver());
$cache = new ArrayCache();
$this->cmf
->setCacheDriver($cache);
$this
->assertSame($cache, $this->cmf
->getCacheDriver());
}
public function testGetMetadataFor() {
$metadata = $this->cmf
->getMetadataFor('stdClass');
$this
->assertInstanceOf('Doctrine\\Common\\Persistence\\Mapping\\ClassMetadata', $metadata);
$this
->assertTrue($this->cmf
->hasMetadataFor('stdClass'));
}
public function testGetMetadataForAbsentClass() {
$this
->setExpectedException('Doctrine\\Common\\Persistence\\Mapping\\MappingException');
$this->cmf
->getMetadataFor(__NAMESPACE__ . '\\AbsentClass');
}
public function testGetParentMetadata() {
$metadata = $this->cmf
->getMetadataFor(__NAMESPACE__ . '\\ChildEntity');
$this
->assertInstanceOf('Doctrine\\Common\\Persistence\\Mapping\\ClassMetadata', $metadata);
$this
->assertTrue($this->cmf
->hasMetadataFor(__NAMESPACE__ . '\\ChildEntity'));
$this
->assertTrue($this->cmf
->hasMetadataFor(__NAMESPACE__ . '\\RootEntity'));
}
public function testGetCachedMetadata() {
$metadata = $this
->getMock('Doctrine\\Common\\Persistence\\Mapping\\ClassMetadata');
$cache = new ArrayCache();
$cache
->save(__NAMESPACE__ . '\\ChildEntity$CLASSMETADATA', $metadata);
$this->cmf
->setCacheDriver($cache);
$loadedMetadata = $this->cmf
->getMetadataFor(__NAMESPACE__ . '\\ChildEntity');
$this
->assertSame($loadedMetadata, $metadata);
}
public function testCacheGetMetadataFor() {
$cache = new ArrayCache();
$this->cmf
->setCacheDriver($cache);
$loadedMetadata = $this->cmf
->getMetadataFor(__NAMESPACE__ . '\\ChildEntity');
$this
->assertSame($loadedMetadata, $cache
->fetch(__NAMESPACE__ . '\\ChildEntity$CLASSMETADATA'));
}
public function testGetAliasedMetadata() {
$this->cmf
->getMetadataFor('prefix:ChildEntity');
$this
->assertTrue($this->cmf
->hasMetadataFor(__NAMESPACE__ . '\\ChildEntity'));
$this
->assertTrue($this->cmf
->hasMetadataFor('prefix:ChildEntity'));
}
/**
* @group DCOM-270
*/
public function testGetInvalidAliasedMetadata() {
$this
->setExpectedException('Doctrine\\Common\\Persistence\\Mapping\\MappingException', 'Class \'Doctrine\\Tests\\Common\\Persistence\\Mapping\\ChildEntity:Foo\' does not exist');
$this->cmf
->getMetadataFor('prefix:ChildEntity:Foo');
}
/**
* @group DCOM-270
*/
public function testClassIsTransient() {
$this
->assertTrue($this->cmf
->isTransient('prefix:ChildEntity:Foo'));
}
public function testWillFallbackOnNotLoadedMetadata() {
$classMetadata = $this
->getMock('Doctrine\\Common\\Persistence\\Mapping\\ClassMetadata');
$this->cmf->fallbackCallback = function () use ($classMetadata) {
return $classMetadata;
};
$this->cmf->metadata = null;
$this
->assertSame($classMetadata, $this->cmf
->getMetadataFor('Foo'));
}
public function testWillFailOnFallbackFailureWithNotLoadedMetadata() {
$this->cmf->fallbackCallback = function () {
return null;
};
$this->cmf->metadata = null;
$this
->setExpectedException('Doctrine\\Common\\Persistence\\Mapping\\MappingException');
$this->cmf
->getMetadataFor('Foo');
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ClassMetadataFactoryTest:: |
private | property | ||
ClassMetadataFactoryTest:: |
public | function | ||
ClassMetadataFactoryTest:: |
public | function | ||
ClassMetadataFactoryTest:: |
public | function | @group DCOM-270 | |
ClassMetadataFactoryTest:: |
public | function | ||
ClassMetadataFactoryTest:: |
public | function | ||
ClassMetadataFactoryTest:: |
public | function | ||
ClassMetadataFactoryTest:: |
public | function | @group DCOM-270 | |
ClassMetadataFactoryTest:: |
public | function | ||
ClassMetadataFactoryTest:: |
public | function | ||
ClassMetadataFactoryTest:: |
public | function | ||
ClassMetadataFactoryTest:: |
public | function | ||
ClassMetadataFactoryTest:: |
public | function |