phpseclib/tests/Unit/Math/BigInteger/PHP64OpenSSLTest.php

44 lines
1.1 KiB
PHP
Raw Normal View History

<?php
2022-02-17 02:25:59 +00:00
/**
* @author Andreas Fischer <bantu@phpbb.com>
* @copyright 2013 Andreas Fischer
* @license http://www.opensource.org/licenses/mit-license.html MIT License
*/
2022-01-30 15:34:42 +00:00
use phpseclib3\Math\BigInteger\Engines\PHP64;
2020-12-13 04:47:25 +00:00
class Unit_Math_BigInteger_PHP64OpenSSLTest extends Unit_Math_BigInteger_TestCase
{
2015-07-15 01:52:31 +00:00
public static function setUpBeforeClass()
{
2020-12-13 04:47:25 +00:00
if (!PHP64::isValidEngine()) {
self::markTestSkipped('64-bit integers are not available.');
}
try {
PHP64::setModExpEngine('OpenSSL');
} catch (BadConfigurationException $e) {
self::markTestSkipped('openssl_public_encrypt() function is not available.');
}
}
2020-12-13 04:47:25 +00:00
public function getInstance($x = 0, $base = 10)
{
return new PHP64($x, $base);
}
public function testInternalRepresentation()
{
$x = new PHP64('FFFFFFFFFFFFFFFFC90FDA', 16);
$y = new PHP64("$x");
$this->assertSame(self::getVar($x, 'value'), self::getVar($y, 'value'));
}
public static function getStaticClass()
{
return 'phpseclib3\Math\BigInteger\Engines\PHP64';
}
}