12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Tests\Component\Security\Encoder;
- use Symfony\Component\Security\Encoder\BasePasswordEncoder;
- class PasswordEncoder extends BasePasswordEncoder
- {
- public function encodePassword($raw, $salt)
- {
- }
- public function isPasswordValid($encoded, $raw, $salt)
- {
- }
- }
- class BasePasswordEncoderTest extends \PHPUnit_Framework_TestCase
- {
- public function testComparePassword()
- {
- $this->assertTrue($this->invokeComparePasswords('password', 'password'));
- $this->assertFalse($this->invokeComparePasswords('password', 'foo'));
- }
- public function testDemergePasswordAndSalt()
- {
- $this->assertEquals(array('password', 'salt'), $this->invokeDemergePasswordAndSalt('password{salt}'));
- $this->assertEquals(array('password', ''), $this->invokeDemergePasswordAndSalt('password'));
- $this->assertEquals(array('', ''), $this->invokeDemergePasswordAndSalt(''));
- }
- public function testMergePasswordAndSalt()
- {
- $this->assertEquals('password{salt}', $this->invokeMergePasswordAndSalt('password', 'salt'));
- $this->assertEquals('password', $this->invokeMergePasswordAndSalt('password', ''));
- }
- /**
- * @expectedException InvalidArgumentException
- */
- public function testMergePasswordAndSaltWithException()
- {
- $this->invokeMergePasswordAndSalt('password', '{foo}');
- }
- protected function invokeDemergePasswordAndSalt($password)
- {
- $encoder = new PasswordEncoder();
- $r = new \ReflectionObject($encoder);
- $m = $r->getMethod('demergePasswordAndSalt');
- $m->setAccessible(true);
- return $m->invoke($encoder, $password);
- }
- protected function invokeMergePasswordAndSalt($password, $salt)
- {
- $encoder = new PasswordEncoder();
- $r = new \ReflectionObject($encoder);
- $m = $r->getMethod('mergePasswordAndSalt');
- $m->setAccessible(true);
- return $m->invoke($encoder, $password, $salt);
- }
- protected function invokeComparePasswords($p1, $p2)
- {
- $encoder = new PasswordEncoder();
- $r = new \ReflectionObject($encoder);
- $m = $r->getMethod('comparePasswords');
- $m->setAccessible(true);
- return $m->invoke($encoder, $p1, $p2);
- }
- }
|