[Security] Add more tests for StringUtils::equals

This commit is contained in:
Kévin Dunglas 2014-08-31 17:01:28 +02:00
parent 03bd74bdea
commit 3071557ec8
1 changed files with 41 additions and 3 deletions

View File

@ -13,11 +13,49 @@ namespace Symfony\Component\Security\Tests\Core\Util;
use Symfony\Component\Security\Core\Util\StringUtils;
/**
* Data from PHP.net's hash_equals tests
*/
class StringUtilsTest extends \PHPUnit_Framework_TestCase
{
public function testEquals()
public function dataProviderTrue()
{
$this->assertTrue(StringUtils::equals('password', 'password'));
$this->assertFalse(StringUtils::equals('password', 'foo'));
return array(
array('same', 'same'),
array('', ''),
array(123, 123),
array(null, ''),
array(null, null),
);
}
public function dataProviderFalse()
{
return array(
array('not1same', 'not2same'),
array('short', 'longer'),
array('longer', 'short'),
array('', 'notempty'),
array('notempty', ''),
array(123, 'NaN'),
array('NaN', 123),
array(null, 123),
);
}
/**
* @dataProvider dataProviderTrue
*/
public function testEqualsTrue($known, $user)
{
$this->assertTrue(StringUtils::equals($known, $user));
}
/**
* @dataProvider dataProviderFalse
*/
public function testEqualsFalse($known, $user)
{
$this->assertFalse(StringUtils::equals($known, $user));
}
}