2013-02-13 20:42:13 -02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Doctrine\Tests\ORM\Cache;
|
|
|
|
|
|
|
|
use Doctrine\ORM\Cache\EntityCacheKey;
|
|
|
|
use Doctrine\ORM\Cache\CollectionCacheKey;
|
2016-05-11 01:55:12 +07:00
|
|
|
use Doctrine\Tests\DoctrineTestCase;
|
2013-02-13 20:42:13 -02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @group DDC-2183
|
|
|
|
*/
|
2016-05-11 01:55:12 +07:00
|
|
|
class CacheKeyTest extends DoctrineTestCase
|
2013-02-13 20:42:13 -02:00
|
|
|
{
|
|
|
|
public function testEntityCacheKeyIdentifierCollision()
|
|
|
|
{
|
2016-12-07 23:33:41 +01:00
|
|
|
$key1 = new EntityCacheKey('Foo', ['id'=>1]);
|
|
|
|
$key2 = new EntityCacheKey('Bar', ['id'=>1]);
|
2013-02-13 20:42:13 -02:00
|
|
|
|
|
|
|
$this->assertNotEquals($key1->hash, $key2->hash);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testEntityCacheKeyIdentifierType()
|
|
|
|
{
|
2016-12-07 23:33:41 +01:00
|
|
|
$key1 = new EntityCacheKey('Foo', ['id'=>1]);
|
|
|
|
$key2 = new EntityCacheKey('Foo', ['id'=>'1']);
|
2013-02-13 20:42:13 -02:00
|
|
|
|
|
|
|
$this->assertEquals($key1->hash, $key2->hash);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testEntityCacheKeyIdentifierOrder()
|
|
|
|
{
|
2016-12-07 23:33:41 +01:00
|
|
|
$key1 = new EntityCacheKey('Foo', ['foo_bar'=>1, 'bar_foo'=> 2]);
|
|
|
|
$key2 = new EntityCacheKey('Foo', ['bar_foo'=>2, 'foo_bar'=> 1]);
|
2013-02-13 20:42:13 -02:00
|
|
|
|
|
|
|
$this->assertEquals($key1->hash, $key2->hash);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testCollectionCacheKeyIdentifierType()
|
|
|
|
{
|
2016-12-07 23:33:41 +01:00
|
|
|
$key1 = new CollectionCacheKey('Foo', 'assoc', ['id'=>1]);
|
|
|
|
$key2 = new CollectionCacheKey('Foo', 'assoc', ['id'=>'1']);
|
2013-02-13 20:42:13 -02:00
|
|
|
|
|
|
|
$this->assertEquals($key1->hash, $key2->hash);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testCollectionCacheKeyIdentifierOrder()
|
|
|
|
{
|
2016-12-07 23:33:41 +01:00
|
|
|
$key1 = new CollectionCacheKey('Foo', 'assoc', ['foo_bar'=>1, 'bar_foo'=> 2]);
|
|
|
|
$key2 = new CollectionCacheKey('Foo', 'assoc', ['bar_foo'=>2, 'foo_bar'=> 1]);
|
2013-02-13 20:42:13 -02:00
|
|
|
|
|
|
|
$this->assertEquals($key1->hash, $key2->hash);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testCollectionCacheKeyIdentifierCollision()
|
|
|
|
{
|
2016-12-07 23:33:41 +01:00
|
|
|
$key1 = new CollectionCacheKey('Foo', 'assoc', ['id'=>1]);
|
|
|
|
$key2 = new CollectionCacheKey('Bar', 'assoc', ['id'=>1]);
|
2013-02-13 20:42:13 -02:00
|
|
|
|
|
|
|
$this->assertNotEquals($key1->hash, $key2->hash);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testCollectionCacheKeyAssociationCollision()
|
|
|
|
{
|
2016-12-07 23:33:41 +01:00
|
|
|
$key1 = new CollectionCacheKey('Foo', 'assoc1', ['id'=>1]);
|
|
|
|
$key2 = new CollectionCacheKey('Foo', 'assoc2', ['id'=>1]);
|
2013-02-13 20:42:13 -02:00
|
|
|
|
|
|
|
$this->assertNotEquals($key1->hash, $key2->hash);
|
|
|
|
}
|
2016-12-07 23:33:41 +01:00
|
|
|
}
|