Skip to content

Commit

Permalink
[Security] Add more tests for StringUtils::equals
Browse files Browse the repository at this point in the history
  • Loading branch information
dunglas committed Sep 1, 2014
1 parent 16e3637 commit a676863
Showing 1 changed file with 41 additions and 3 deletions.
44 changes: 41 additions & 3 deletions src/Symfony/Component/Security/Core/Tests/Util/StringUtilsTest.php
Expand Up @@ -13,11 +13,49 @@

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()
{
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->assertTrue(StringUtils::equals('password', 'password'));
$this->assertFalse(StringUtils::equals('password', 'foo'));
$this->assertFalse(StringUtils::equals($known, $user));
}
}

0 comments on commit a676863

Please sign in to comment.