summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKévin Dunglas <dunglas@gmail.com>2014-08-31 17:01:28 +0200
committerKévin Dunglas <dunglas@gmail.com>2014-09-04 23:39:11 +0200
commit6695a8e284aa75cfa2be1b1825367924febb3953 (patch)
tree73e3aa9e962d735e006f9c500983f6721274e94d
parent4c564005f1f97117250253ae20b0bc8a3eaa8c6f (diff)
downloadsymfony-security-6695a8e284aa75cfa2be1b1825367924febb3953.zip
symfony-security-6695a8e284aa75cfa2be1b1825367924febb3953.tar.gz
symfony-security-6695a8e284aa75cfa2be1b1825367924febb3953.tar.bz2
[Security] Add more tests for StringUtils::equals
-rw-r--r--Tests/Core/Util/StringUtilsTest.php44
1 files changed, 41 insertions, 3 deletions
diff --git a/Tests/Core/Util/StringUtilsTest.php b/Tests/Core/Util/StringUtilsTest.php
index aac4139..b16cbac 100644
--- a/Tests/Core/Util/StringUtilsTest.php
+++ b/Tests/Core/Util/StringUtilsTest.php
@@ -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()
+ {
+ 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));
}
}