diff options
author | Ryan Weaver <ryan@thatsquality.com> | 2015-09-26 11:03:42 -0400 |
---|---|---|
committer | Ryan Weaver <ryan@thatsquality.com> | 2015-09-26 17:07:41 -0400 |
commit | af905c55f14b63ef797cb23bb19dcdb5b0e2a3f0 (patch) | |
tree | d89f7cd556e491f46fa8be59825e0e3ea6774a1d /Core/Tests/Authorization | |
parent | 3679d74163401ee7e1362e42614f9fd2c9e1d9c4 (diff) | |
download | symfony-security-af905c55f14b63ef797cb23bb19dcdb5b0e2a3f0.zip symfony-security-af905c55f14b63ef797cb23bb19dcdb5b0e2a3f0.tar.gz symfony-security-af905c55f14b63ef797cb23bb19dcdb5b0e2a3f0.tar.bz2 |
Massively simplifying the BC and deprecated-throwing code thanks to suggestions by stof in #15870
Diffstat (limited to 'Core/Tests/Authorization')
-rw-r--r-- | Core/Tests/Authorization/Voter/AbstractVoterTest.php | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/Core/Tests/Authorization/Voter/AbstractVoterTest.php b/Core/Tests/Authorization/Voter/AbstractVoterTest.php index 44da147..ea72e75 100644 --- a/Core/Tests/Authorization/Voter/AbstractVoterTest.php +++ b/Core/Tests/Authorization/Voter/AbstractVoterTest.php @@ -19,17 +19,10 @@ use Symfony\Component\Security\Core\Authorization\Voter\AbstractVoter; */ class AbstractVoterTest extends \PHPUnit_Framework_TestCase { - /** - * @var AbstractVoter - */ - private $voter; - private $token; protected function setUp() { - $this->voter = new VoterFixture(); - $tokenMock = $this->getMock('Symfony\Component\Security\Core\Authentication\Token\TokenInterface'); $tokenMock ->expects($this->any()) @@ -44,7 +37,9 @@ class AbstractVoterTest extends \PHPUnit_Framework_TestCase */ public function testVote($expectedVote, $object, $attributes, $message) { - $this->assertEquals($expectedVote, $this->voter->vote($this->token, $object, $attributes), $message); + $voter = new VoterFixture(); + + $this->assertEquals($expectedVote, $voter->vote($this->token, $object, $attributes), $message); } /** @@ -58,6 +53,16 @@ class AbstractVoterTest extends \PHPUnit_Framework_TestCase $this->assertEquals($expectedVote, $voter->vote($this->token, $object, $attributes), $message); } + /** + * @group legacy + * @expectedException \BadMethodCallException + */ + public function testNoOverriddenMethodsThrowsException() + { + $voter = new DeprecatedVoterNothingImplementedFixture(); + $voter->vote($this->token, new ObjectFixture(), array('foo')); + } + public function getData() { return array( @@ -113,6 +118,23 @@ class DeprecatedVoterFixture extends AbstractVoter } } +class DeprecatedVoterNothingImplementedFixture extends AbstractVoter +{ + protected function getSupportedClasses() + { + return array( + 'Symfony\Component\Security\Core\Tests\Authorization\Voter\ObjectFixture', + ); + } + + protected function getSupportedAttributes() + { + return array('foo', 'bar', 'baz'); + } + + // this is a bad voter that hasn't overridden isGranted or voteOnAttribute +} + class ObjectFixture { } |