Skip to content

Commit ce67ce9

Browse files
committed
minor #94 Test show FieldEntry serialization Bug (alipek)
This PR was merged into the 3.2 branch. Discussion ---------- Test show FieldEntry serialization Bug Extracted from #8 Commits ------- 41f631b Test show FieldEntry serialization Bug
2 parents 324238a + 41f631b commit ce67ce9

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Tests/Domain/FieldEntryTest.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Component\Security\Acl\Tests\Domain;
1313

1414
use Symfony\Component\Security\Acl\Domain\FieldEntry;
15+
use Symfony\Component\Security\Acl\Model\SecurityIdentityInterface;
1516

1617
class FieldEntryTest extends \PHPUnit\Framework\TestCase
1718
{
@@ -40,6 +41,27 @@ public function testSerializeUnserialize()
4041
$this->assertEquals($ace->isAuditFailure(), $uAce->isAuditFailure());
4142
}
4243

44+
public function testSerializeUnserializeMoreAceWithSameSecurityIdentity()
45+
{
46+
$sid = $this->getSid();
47+
48+
$aceFirst = $this->getAce(null, $sid);
49+
$aceSecond = $this->getAce(null, $sid);
50+
51+
// as used in DoctrineAclCache::putInCache (line 142)
52+
$serialized = serialize([[
53+
'fieldOne' => [$aceFirst],
54+
'fieldTwo' => [$aceSecond],
55+
]]);
56+
57+
$unserialized = unserialize($serialized);
58+
$uAceFirst = $unserialized[0]['fieldOne'][0];
59+
$uAceSecond = $unserialized[0]['fieldTwo'][0];
60+
61+
$this->assertInstanceOf(SecurityIdentityInterface::class, $uAceFirst->getSecurityIdentity());
62+
$this->assertInstanceOf(SecurityIdentityInterface::class, $uAceSecond->getSecurityIdentity());
63+
}
64+
4365
protected function getAce($acl = null, $sid = null)
4466
{
4567
if (null === $acl) {

0 commit comments

Comments
 (0)