UserSecurityIdentityTest.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace Symfony\Tests\Component\Security\Acl\Domain;
  3. use Symfony\Component\Security\Acl\Domain\RoleSecurityIdentity;
  4. use Symfony\Component\Security\Acl\Domain\UserSecurityIdentity;
  5. class UserSecurityIdentityTest extends \PHPUnit_Framework_TestCase
  6. {
  7. public function testConstructor()
  8. {
  9. $id = new UserSecurityIdentity('foo', 'Foo');
  10. $this->assertEquals('foo', $id->getUsername());
  11. $this->assertEquals('Foo', $id->getClass());
  12. }
  13. /**
  14. * @dataProvider getCompareData
  15. */
  16. public function testEquals($id1, $id2, $equal)
  17. {
  18. if ($equal) {
  19. $this->assertTrue($id1->equals($id2));
  20. }
  21. else {
  22. $this->assertFalse($id1->equals($id2));
  23. }
  24. }
  25. public function getCompareData()
  26. {
  27. $account = $this->getMock('Symfony\Component\Security\User\AccountInterface');
  28. $account
  29. ->expects($this->once())
  30. ->method('__toString')
  31. ->will($this->returnValue('foo'))
  32. ;
  33. return array(
  34. array(new UserSecurityIdentity('foo', 'Foo'), new UserSecurityIdentity('foo', 'Foo'), true),
  35. array(new UserSecurityIdentity('foo', 'Bar'), new UserSecurityIdentity('foo', 'Foo'), false),
  36. array(new UserSecurityIdentity('foo', 'Foo'), new UserSecurityIdentity('bar', 'Foo'), false),
  37. array(new UserSecurityIdentity('foo', 'Foo'), UserSecurityIdentity::fromAccount($account), false),
  38. array(new UserSecurityIdentity('bla', 'Foo'), new UserSecurityIdentity('blub', 'Foo'), false),
  39. array(new UserSecurityIdentity('foo', 'Foo'), new RoleSecurityIdentity('foo'), false),
  40. );
  41. }
  42. }