Files
moodle/lib/password_compat/tests/PasswordNeedsRehashTest.php
2015-03-26 10:05:00 +08:00

30 lines
1.0 KiB
PHP

<?php
global $CFG;
require_once($CFG->dirroot . '/lib/password_compat/lib/password.php');
class PasswordNeedsRehashTest extends PHPUnit_Framework_TestCase {
public static function provideCases() {
return array(
array('foo', 0, array(), false),
array('foo', 1, array(), true),
array('$2y$07$usesomesillystringfore2uDLvp1Ii2e./U9C8sBjqp8I90dH6hi', PASSWORD_BCRYPT, array(), true),
array('$2y$07$usesomesillystringfore2udlvp1ii2e./u9c8sbjqp8i90dh6hi', PASSWORD_BCRYPT, array('cost' => 7), false),
array('$2y$07$usesomesillystringfore2udlvp1ii2e./u9c8sbjqp8i90dh6hi', PASSWORD_BCRYPT, array('cost' => 5), true),
);
}
public function testFuncExists() {
$this->assertTrue(function_exists('password_needs_rehash'));
}
/**
* @dataProvider provideCases
*/
public function testCases($hash, $algo, $options, $valid) {
$this->assertEquals($valid, password_needs_rehash($hash, $algo, $options));
}
}