1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-11 19:24:01 +02:00

[feature/passwords] Increase test coverage to 100% of methods

Obsolete code that is impossible to hit has been removed and the logic
of the salted md5 driver has been changed to correctly implement the
phpBB 3.0 phpbb_hash() function.

PHPBB3-11610
This commit is contained in:
Marc Alexander
2013-10-10 12:01:10 +02:00
parent cd74fb0946
commit fdf9ae7c18
2 changed files with 24 additions and 13 deletions

View File

@@ -149,17 +149,28 @@ class phpbb_passwords_manager_test extends PHPUnit_Framework_TestCase
$this->assertEquals($expected, $this->manager->check($password, $hash));
}
public function test_hash_password_length()
public function data_hash_password_length()
{
foreach ($this->passwords_drivers as $driver)
{
$this->assertEquals(false, $driver->hash('foobar', 'foobar'));
}
return array(
array('passwords.driver.bcrypt', false),
array('passwords.driver.bcrypt_2y', false),
array('passwords.driver.salted_md5', '3858f62230ac3c915f300c664312c63f'),
array('passwords.driver.phpass', '3858f62230ac3c915f300c664312c63f'),
);
}
/**
* @dataProvider data_hash_password_length
*/
public function test_hash_password_length($driver, $expected)
{
$this->assertEquals($expected, $this->passwords_drivers[$driver]->hash('foobar', 'foobar'));
}
public function test_hash_password_8bit_bcrypt()
{
$this->assertEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt'));
$this->assertNotEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt_2y'));
}
public function test_combined_hash_data()