summaryrefslogtreecommitdiffstats
path: root/Tests/Acl
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/Acl')
-rw-r--r--Tests/Acl/Domain/ObjectIdentityTest.php24
1 files changed, 23 insertions, 1 deletions
diff --git a/Tests/Acl/Domain/ObjectIdentityTest.php b/Tests/Acl/Domain/ObjectIdentityTest.php
index 9281fd5..111ae8a 100644
--- a/Tests/Acl/Domain/ObjectIdentityTest.php
+++ b/Tests/Acl/Domain/ObjectIdentityTest.php
@@ -64,6 +64,26 @@ namespace Symfony\Component\Security\Tests\Acl\Domain
$this->assertEquals('Symfony\Component\Security\Tests\Acl\Domain\TestDomainObject', $id->getType());
}
+ public function testFromDomainObjectWithoutInterfaceEnforcesStringIdentifier()
+ {
+ $domainObject = new TestDomainObject();
+ $domainObject->id = 1;
+ $id = ObjectIdentity::fromDomainObject($domainObject);
+
+ $this->assertSame('1', $id->getIdentifier());
+ $this->assertEquals('Symfony\Component\Security\Tests\Acl\Domain\TestDomainObject', $id->getType());
+ }
+
+ public function testFromDomainObjectWithoutInterfaceAllowsZeroAsIdentifier()
+ {
+ $domainObject = new TestDomainObject();
+ $domainObject->id = '0';
+ $id = ObjectIdentity::fromDomainObject($domainObject);
+
+ $this->assertSame('0', $id->getIdentifier());
+ $this->assertEquals('Symfony\Component\Security\Tests\Acl\Domain\TestDomainObject', $id->getType());
+ }
+
/**
* @dataProvider getCompareData
*/
@@ -89,6 +109,8 @@ namespace Symfony\Component\Security\Tests\Acl\Domain
class TestDomainObject
{
+ public $id = 'getId()';
+
public function getObjectIdentifier()
{
return 'getObjectIdentifier()';
@@ -96,7 +118,7 @@ namespace Symfony\Component\Security\Tests\Acl\Domain
public function getId()
{
- return 'getId()';
+ return $this->id;
}
}
}