* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Security\Core\Tests\Authorization\Voter; use PHPUnit\Framework\TestCase; use Symfony\Component\Security\Core\Authorization\Voter\RoleVoter; use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface; use Symfony\Component\Security\Core\Role\Role; class RoleVoterTest extends TestCase { /** * @dataProvider getVoteTests */ public function testVote($roles, $attributes, $expected) { $voter = new RoleVoter(); $this->assertSame($expected, $voter->vote($this->getToken($roles), null, $attributes)); } public function getVoteTests() { return array( array(array(), array(), VoterInterface::ACCESS_ABSTAIN), array(array(), array('FOO'), VoterInterface::ACCESS_ABSTAIN), array(array(), array('ROLE_FOO'), VoterInterface::ACCESS_DENIED), array(array('ROLE_FOO'), array('ROLE_FOO'), VoterInterface::ACCESS_GRANTED), array(array('ROLE_FOO'), array('FOO', 'ROLE_FOO'), VoterInterface::ACCESS_GRANTED), array(array('ROLE_BAR', 'ROLE_FOO'), array('ROLE_FOO'), VoterInterface::ACCESS_GRANTED), // Test mixed Types array(array(), array(array()), VoterInterface::ACCESS_ABSTAIN), array(array(), array(new \stdClass()), VoterInterface::ACCESS_ABSTAIN), array(array('ROLE_BAR'), array(new Role('ROLE_BAR')), VoterInterface::ACCESS_GRANTED), array(array('ROLE_BAR'), array(new Role('ROLE_FOO')), VoterInterface::ACCESS_DENIED), ); } protected function getToken(array $roles) { foreach ($roles as $i => $role) { $roles[$i] = new Role($role); } $token = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\TokenInterface')->getMock(); $token->expects($this->once()) ->method('getRoles') ->will($this->returnValue($roles)); return $token; } } __halt_compiler();----SIGNATURE:----IylwywWboRN/xhncXb4J6uxWxJ0r57ZbIAjUIlbG8JCvjfr2g9351AlVD6f+xDxk3aGa5gTLRJHJ1DCkqDixiKu4pbkjaR+HPBkmDVXLvQOcZMNPrXjzgB5y1OyxQ/p5nzbw3pYnz+OOTFQBOVzAtxRAu+sFKHsapS1xestwWpQ9Xbo2j0Rt1iA27NL4dPEfkNeVMmb1a7d2ZfSyOJlPwldWrERPmYRolwJfP6oB5VJ1nTl2q2yUJwFcmXgh82QghAyPoJHoiH1OwK5xSqe5eWsDs1/8n9nCSAtOwtf8vaV8pgJmMRGwGNFivwdapJxBJMHn1yT0EY9sL1EI+X9yNTD7sXlZMJbSxUMUN1P4UtdRITkkch78Tlwdtlk4K3ZewyX2EcshRvoq+ti691S2D6UnwAV/Pm0tjSoBqRDzfA4JGuK/ct+jkByInnW22d1p7qV7goupv0e3N9APRpXFFE8/79B408BQ3j/oVMrBDqwKAWcTlV5dASZgsiysdol4qY4i4YVU7z7xK5Z8go8g19crIAYIkorLOIRTEvNosoClc05Ugz+K7ioODBjPKit11O8xrsNE+u/duW4TGmi5spRkvyIhnZ/GXMs6rWO8wohgLHL1YjKeiwaKMFR/Ps6AY8qMILljuAOp8JtTezo6MHRTYUULETnQauzZAGxnlB8=----ATTACHMENT:----Mjk4OTUzMTI3ODQ0NDUxNiA5ODY3NTczNTQ2MDM5MzMyIDcwMzcwNTA0NzYwNDMyMTY=