only mock mcrypt if it isn't installed

This commit is contained in:
El RIDO 2016-05-22 17:17:09 +02:00
parent 67133ec090
commit 1158c81259

View File

@ -37,21 +37,24 @@ class serversaltTest extends PHPUnit_Framework_TestCase
$salt = serversalt::get();
// mcrypt mock
if (!defined('MCRYPT_DEV_URANDOM')) define('MCRYPT_DEV_URANDOM', 1);
function mcrypt_create_iv($int, $flag)
if (!function_exists('mcrypt_create_iv'))
{
$randomSalt = '';
for($i = 0; $i < 256; ++$i) {
$randomSalt .= base_convert(mt_rand(), 10, 16);
}
// hex2bin requires an even length, pad if necessary
if (strlen($randomSalt) % 2)
if (!defined('MCRYPT_DEV_URANDOM')) define('MCRYPT_DEV_URANDOM', 1);
function mcrypt_create_iv($int, $flag)
{
$randomSalt = '0' . $randomSalt;
$randomSalt = '';
for($i = 0; $i < 256; ++$i) {
$randomSalt .= base_convert(mt_rand(), 10, 16);
}
// hex2bin requires an even length, pad if necessary
if (strlen($randomSalt) % 2)
{
$randomSalt = '0' . $randomSalt;
}
return hex2bin($randomSalt);
}
return hex2bin($randomSalt);
$this->assertNotEquals($salt, serversalt::generate());
}
$this->assertNotEquals($salt, serversalt::generate());
// try setting a different path and resetting it
serversalt::setPath($this->_otherPath);