diff --git a/.travis.yml b/.travis.yml
index 339ec5a1..8ef7cae6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,6 +9,7 @@ php:
- 7.2
- 7.3
- 7.4
+ - 8.0
- nightly
before_install: true
@@ -20,7 +21,7 @@ matrix:
install:
- wget http://ftp.gnu.org/gnu/parallel/parallel-20170822.tar.bz2
- tar -xvjf parallel*
- - cd parallel*
+ - cd parallel-20170822
- ./configure
- make
- sudo make install
diff --git a/build/code-sniffer-ruleset-tests.xml b/build/code-sniffer-ruleset-tests.xml
index 7169012e..17f00d1d 100644
--- a/build/code-sniffer-ruleset-tests.xml
+++ b/build/code-sniffer-ruleset-tests.xml
@@ -11,6 +11,7 @@
using underscore. -->
+
diff --git a/composer.json b/composer.json
index 3212508a..887639d1 100644
--- a/composer.json
+++ b/composer.json
@@ -57,7 +57,7 @@
},
"require-dev": {
"phing/phing": "~2.7",
- "phpunit/phpunit": "^4.8.35|^5.7|^6.0",
+ "phpunit/phpunit": "^4.8.35|^5.7|^6.0|^9.4",
"squizlabs/php_codesniffer": "~2.0"
},
"suggest": {
diff --git a/phpseclib/File/ANSI.php b/phpseclib/File/ANSI.php
index e124f855..f0dc1961 100644
--- a/phpseclib/File/ANSI.php
+++ b/phpseclib/File/ANSI.php
@@ -315,19 +315,20 @@ class ANSI
$mods = explode(';', $match[1]);
foreach ($mods as $mod) {
switch ($mod) {
- case 0: // Turn off character attributes
+ case '':
+ case '0': // Turn off character attributes
$attr_cell = clone $this->base_attr_cell;
break;
- case 1: // Turn bold mode on
+ case '1': // Turn bold mode on
$attr_cell->bold = true;
break;
- case 4: // Turn underline mode on
+ case '4': // Turn underline mode on
$attr_cell->underline = true;
break;
- case 5: // Turn blinking mode on
+ case '5': // Turn blinking mode on
$attr_cell->blink = true;
break;
- case 7: // Turn reverse video on
+ case '7': // Turn reverse video on
$attr_cell->reverse = !$attr_cell->reverse;
$temp = $attr_cell->background;
$attr_cell->background = $attr_cell->foreground;
@@ -340,23 +341,23 @@ class ANSI
$back = &$attr_cell->{ $attr_cell->reverse ? 'foreground' : 'background' };
switch ($mod) {
// @codingStandardsIgnoreStart
- case 30: $front = 'black'; break;
- case 31: $front = 'red'; break;
- case 32: $front = 'green'; break;
- case 33: $front = 'yellow'; break;
- case 34: $front = 'blue'; break;
- case 35: $front = 'magenta'; break;
- case 36: $front = 'cyan'; break;
- case 37: $front = 'white'; break;
+ case '30': $front = 'black'; break;
+ case '31': $front = 'red'; break;
+ case '32': $front = 'green'; break;
+ case '33': $front = 'yellow'; break;
+ case '34': $front = 'blue'; break;
+ case '35': $front = 'magenta'; break;
+ case '36': $front = 'cyan'; break;
+ case '37': $front = 'white'; break;
- case 40: $back = 'black'; break;
- case 41: $back = 'red'; break;
- case 42: $back = 'green'; break;
- case 43: $back = 'yellow'; break;
- case 44: $back = 'blue'; break;
- case 45: $back = 'magenta'; break;
- case 46: $back = 'cyan'; break;
- case 47: $back = 'white'; break;
+ case '40': $back = 'black'; break;
+ case '41': $back = 'red'; break;
+ case '42': $back = 'green'; break;
+ case '43': $back = 'yellow'; break;
+ case '44': $back = 'blue'; break;
+ case '45': $back = 'magenta'; break;
+ case '46': $back = 'cyan'; break;
+ case '47': $back = 'white'; break;
// @codingStandardsIgnoreEnd
default:
diff --git a/tests/Functional/Net/SFTPLargeFileTest.php b/tests/Functional/Net/SFTPLargeFileTest.php
index 718426b0..47d2df2b 100644
--- a/tests/Functional/Net/SFTPLargeFileTest.php
+++ b/tests/Functional/Net/SFTPLargeFileTest.php
@@ -16,6 +16,7 @@ class Functional_Net_SFTPLargeFileTest extends Functional_Net_SFTPTestCase
if (!extension_loaded('mcrypt') && !extension_loaded('openssl')) {
self::markTestSkipped('This test depends on mcrypt or openssl for performance.');
}
+ self::ensureConstant('CRYPT_HASH_MODE', 3);
parent::setUpBeforeClass();
}
@@ -41,3 +42,7 @@ class Functional_Net_SFTPLargeFileTest extends Functional_Net_SFTPTestCase
);
}
}
+
+class SFTPLargeFileTest extends Functional_Net_SFTPLargeFileTest
+{
+}
diff --git a/tests/Functional/Net/SFTPStreamTest.php b/tests/Functional/Net/SFTPStreamTest.php
index e24e85f5..8601e5a3 100644
--- a/tests/Functional/Net/SFTPStreamTest.php
+++ b/tests/Functional/Net/SFTPStreamTest.php
@@ -22,7 +22,7 @@ class Functional_Net_SFTPStreamTest extends Functional_Net_SFTPTestCase
'sftp' => ['session' => $this->sftp],
]);
$fp = fopen($this->buildUrl('fooo.txt'), 'wb', false, $context);
- $this->assertInternalType('resource', $fp);
+ $this->assertIsResource($fp);
fclose($fp);
$this->assertSame(0, $this->sftp->filesize('fooo.txt'));
}
@@ -64,3 +64,7 @@ class Functional_Net_SFTPStreamTest extends Functional_Net_SFTPTestCase
);
}
}
+
+class SFTPStreamTest extends Functional_Net_SFTPStreamTest
+{
+}
diff --git a/tests/Functional/Net/SFTPUserStoryTest.php b/tests/Functional/Net/SFTPUserStoryTest.php
index 56c76fe5..235cc4cb 100644
--- a/tests/Functional/Net/SFTPUserStoryTest.php
+++ b/tests/Functional/Net/SFTPUserStoryTest.php
@@ -29,8 +29,7 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
{
$sftp = new SFTP($this->getEnv('SSH_HOSTNAME'));
- $this->assertInternalType(
- 'object',
+ $this->assertIsObject(
$sftp,
'Could not construct NET_SFTP object.'
);
@@ -136,6 +135,16 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
return $sftp;
}
+ static function demoCallback($length)
+ {
+ $r = substr(self::$buffer, 0, $length);
+ self::$buffer = substr(self::$buffer, $length);
+ if (strlen($r)) {
+ return $r;
+ }
+ return null;
+ }
+
/**
* @depends testStatOnDir
*/
@@ -161,16 +170,6 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
return $sftp;
}
- static function callback($length)
- {
- $r = substr(self::$buffer, 0, $length);
- self::$buffer = substr(self::$buffer, $length);
- if (strlen($r)) {
- return $r;
- }
- return null;
- }
-
/**
* @depends testStatOnDir
*/
@@ -178,7 +177,7 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
{
self::$buffer = self::$exampleData;
$this->assertTrue(
- $sftp->put('file1.txt', [__CLASS__, 'callback'], $sftp::SOURCE_CALLBACK),
+ $sftp->put('file1.txt', [__CLASS__, 'demoCallback'], $sftp::SOURCE_CALLBACK),
'Failed asserting that example data could be successfully put().'
);
@@ -440,8 +439,7 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
*/
public function testReadlink($sftp)
{
- $this->assertInternalType(
- 'string',
+ $this->assertIsString(
$sftp->readlink('symlink'),
'Failed asserting that a symlink\'s target could be read'
);
@@ -456,14 +454,12 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
public function testStatOnCWD($sftp)
{
$stat = $sftp->stat('.');
- $this->assertInternalType(
- 'array',
+ $this->assertIsArray(
$stat,
'Failed asserting that stat on . returns an array'
);
$lstat = $sftp->lstat('.');
- $this->assertInternalType(
- 'array',
+ $this->assertIsArray(
$lstat,
'Failed asserting that lstat on . returns an array'
);
@@ -605,8 +601,7 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
'Failed asserting that scratch directory could ' .
'be created.'
);
- $this->assertInternalType(
- 'array',
+ $this->assertIsArray(
$sftp->stat(self::$scratchDir),
'Failed asserting that stat on an existent empty directory returns an array'
);
@@ -753,3 +748,7 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
$this->assertEquals($list_cache_enabled, $list_cache_disabled, 'The files should be the same regardless of stat cache', 0.0, 10, true);
}
}
+
+class SFTPUserStoryTest extends Functional_Net_SFTPUserStoryTest
+{
+}
diff --git a/tests/Functional/Net/SSH2AgentTest.php b/tests/Functional/Net/SSH2AgentTest.php
index 99aaa95a..94d5c398 100644
--- a/tests/Functional/Net/SSH2AgentTest.php
+++ b/tests/Functional/Net/SSH2AgentTest.php
@@ -53,3 +53,7 @@ class Functional_Net_SSH2AgentTest extends PhpseclibFunctionalTestCase
return $args;
}
}
+
+class SSH2AgentTest extends Functional_Net_SSH2AgentTest
+{
+}
diff --git a/tests/Functional/Net/SSH2Test.php b/tests/Functional/Net/SSH2Test.php
index f51c1cb7..4b996b10 100644
--- a/tests/Functional/Net/SSH2Test.php
+++ b/tests/Functional/Net/SSH2Test.php
@@ -14,8 +14,7 @@ class Functional_Net_SSH2Test extends PhpseclibFunctionalTestCase
{
$ssh = new SSH2($this->getEnv('SSH_HOSTNAME'));
- $this->assertInternalType(
- 'object',
+ $this->assertIsObject
$ssh,
'Could not construct NET_SSH2 object.'
);
@@ -125,7 +124,7 @@ class Functional_Net_SSH2Test extends PhpseclibFunctionalTestCase
{
$ssh = new SSH2($this->getEnv('SSH_HOSTNAME'));
- $this->assertInternalType('string', $ssh->getServerPublicHostKey());
+ $this->assertIsString($ssh->getServerPublicHostKey());
}
public function testOpenSocketConnect()
@@ -173,3 +172,7 @@ class Functional_Net_SSH2Test extends PhpseclibFunctionalTestCase
$ssh->read();
}
}
+
+class SSH2Test extends Functional_Net_SSH2Test
+{
+}
diff --git a/tests/PhpseclibTestCase.php b/tests/PhpseclibTestCase.php
index 1996af6c..3eaff1c7 100644
--- a/tests/PhpseclibTestCase.php
+++ b/tests/PhpseclibTestCase.php
@@ -117,4 +117,70 @@ abstract class PhpseclibTestCase extends PHPUnit\Framework\TestCase
$method->setAccessible(true);
return $method->invokeArgs($obj, $params);
}
+
+ // assertIsArray was not introduced until PHPUnit 8
+ public static function assertIsArray($actual, $message = '')
+ {
+ if (method_exists('\PHPUnit\Framework\TestCase', 'assertIsArray')) {
+ parent::assertIsArray($actual, $message);
+ return;
+ }
+
+ parent::assertInternalType('array', $actual, $message);
+ }
+
+ // assertIsString was not introduced until PHPUnit 8
+ public static function assertIsString($actual, $message = '')
+ {
+ if (method_exists('\PHPUnit\Framework\TestCase', 'assertIsString')) {
+ parent::assertIsString($actual, $message);
+ return;
+ }
+
+ parent::assertInternalType('string', $actual, $message);
+ }
+
+ // assertIsResource was not introduced until PHPUnit 8
+ public static function assertIsResource($actual, $message = '')
+ {
+ if (method_exists('\PHPUnit\Framework\TestCase', 'assertIsResource')) {
+ parent::assertIsResource($actual, $message);
+ return;
+ }
+
+ parent::assertInternalType('resource', $actual, $message);
+ }
+
+ // assertIsObject was not introduced until PHPUnit 8
+ public static function assertIsObject($actual, $message = '')
+ {
+ if (method_exists('\PHPUnit\Framework\TestCase', 'assertIsObject')) {
+ parent::assertIsObject($actual, $message);
+ return;
+ }
+
+ parent::assertInternalType('object', $actual, $message);
+ }
+
+ // assertContains is deprecated for strings in PHPUnit 8
+ public static function assertStringContainsString($needle, $haystack, $message = '')
+ {
+ if (method_exists('\PHPUnit\Framework\TestCase', 'assertStringContainsString')) {
+ parent::assertStringContainsString($needle, $haystack, $message);
+ return;
+ }
+
+ parent::assertContains($needle, $haystack, $message);
+ }
+
+ // assertNotContains is deprecated for strings in PHPUnit 8
+ public static function assertStringNotContainsString($needle, $haystack, $message = '')
+ {
+ if (method_exists('\PHPUnit\Framework\TestCase', 'assertStringContainsString')) {
+ parent::assertStringNotContainsString($needle, $haystack, $message);
+ return;
+ }
+
+ parent::assertNotContains($needle, $haystack, $message);
+ }
}
diff --git a/tests/Unit/Crypt/AES/EvalTest.php b/tests/Unit/Crypt/AES/EvalTest.php
index 5b0ad846..004eb227 100644
--- a/tests/Unit/Crypt/AES/EvalTest.php
+++ b/tests/Unit/Crypt/AES/EvalTest.php
@@ -14,3 +14,7 @@ class Unit_Crypt_AES_EvalTest extends Unit_Crypt_AES_TestCase
$this->engine = 'Eval';
}
}
+
+class EvalTest extends Unit_Crypt_AES_EvalTest
+{
+}
diff --git a/tests/Unit/Crypt/AES/McryptTest.php b/tests/Unit/Crypt/AES/McryptTest.php
index dcba5432..81c6aeae 100644
--- a/tests/Unit/Crypt/AES/McryptTest.php
+++ b/tests/Unit/Crypt/AES/McryptTest.php
@@ -14,3 +14,7 @@ class Unit_Crypt_AES_McryptTest extends Unit_Crypt_AES_TestCase
$this->engine = 'mcrypt';
}
}
+
+class McryptTest extends Unit_Crypt_AES_McryptTest
+{
+}
diff --git a/tests/Unit/Crypt/AES/OpenSSLTest.php b/tests/Unit/Crypt/AES/OpenSSLTest.php
index cb22c795..1b78bb47 100644
--- a/tests/Unit/Crypt/AES/OpenSSLTest.php
+++ b/tests/Unit/Crypt/AES/OpenSSLTest.php
@@ -14,3 +14,7 @@ class Unit_Crypt_AES_OpenSSLTest extends Unit_Crypt_AES_TestCase
$this->engine = 'OpenSSL';
}
}
+
+class OpenSSLTest extends Unit_Crypt_AES_OpenSSLTest
+{
+}
diff --git a/tests/Unit/Crypt/AES/InternalTest.php b/tests/Unit/Crypt/AES/PurePHPTest.php
similarity index 70%
rename from tests/Unit/Crypt/AES/InternalTest.php
rename to tests/Unit/Crypt/AES/PurePHPTest.php
index 9e0e8cb3..f380cb4e 100644
--- a/tests/Unit/Crypt/AES/InternalTest.php
+++ b/tests/Unit/Crypt/AES/PurePHPTest.php
@@ -7,10 +7,14 @@
use phpseclib3\Crypt\Common\BlockCipher;
-class Unit_Crypt_AES_InternalTest extends Unit_Crypt_AES_TestCase
+class Unit_Crypt_AES_PurePHPTest extends Unit_Crypt_AES_TestCase
{
protected function setUp()
{
$this->engine = 'PHP';
}
}
+
+class PurePHPTest extends Unit_Crypt_AES_PurePHPTest
+{
+}
diff --git a/tests/Unit/Crypt/BlowfishTest.php b/tests/Unit/Crypt/BlowfishTest.php
index 5289c67f..576f4167 100644
--- a/tests/Unit/Crypt/BlowfishTest.php
+++ b/tests/Unit/Crypt/BlowfishTest.php
@@ -131,3 +131,7 @@ class Unit_Crypt_BlowfishTest extends PhpseclibTestCase
}
}
}
+
+class BlowfishTest extends Unit_Crypt_BlowfishTest
+{
+}
diff --git a/tests/Unit/Crypt/ChaCha20.php b/tests/Unit/Crypt/ChaCha20.php
index efc17870..5a4899e2 100644
--- a/tests/Unit/Crypt/ChaCha20.php
+++ b/tests/Unit/Crypt/ChaCha20.php
@@ -216,3 +216,7 @@ class Unit_Crypt_ChaCha20Test extends PhpseclibTestCase
}
}
}
+
+class ChaCha20Test extends Unit_Crypt_ChaCha20Test
+{
+}
diff --git a/tests/Unit/Crypt/DHTest.php b/tests/Unit/Crypt/DHTest.php
index 0750ce5e..3f8c4a99 100644
--- a/tests/Unit/Crypt/DHTest.php
+++ b/tests/Unit/Crypt/DHTest.php
@@ -30,7 +30,7 @@ Sgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVHCReSFtXZiXn7G9ExC6aY37WsL
public function testParametersWithInteger()
{
$a = DH::createParameters(512);
- $this->assertInternalType('string', "$a");
+ $this->assertIsString("$a");
}
public function testParametersWithBigIntegers()
@@ -55,8 +55,8 @@ Sgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVHCReSFtXZiXn7G9ExC6aY37WsL
{
$param = DH::createParameters('diffie-hellman-group1-sha1');
$key = DH::createKey($param);
- $this->assertInternalType('string', "$key");
- $this->assertInternalType('string', (string) $key->getPublicKey());
+ $this->assertIsString("$key");
+ $this->assertIsString((string) $key->getPublicKey());
}
public function testLoadPrivate()
@@ -119,7 +119,7 @@ i2REGZNPWmF3SRPrtq/4urrDRU0F2eQks7qnTkrauPK1/UvE1gwbqWrWgBko+6L+
Q3ADAIcv9LEmTBnSAOsCs1K9ExAmSv/T2/4+9dW28UYb+p/uV477d1wf+nCWS6VU
/gTm
-----END PUBLIC KEY-----');
- $this->assertInternalType('string', DH::computeSecret($ourPriv, $theirPub));
+ $this->assertIsString(DH::computeSecret($ourPriv, $theirPub));
}
public function testComputeSecret()
@@ -130,7 +130,7 @@ Q3ADAIcv9LEmTBnSAOsCs1K9ExAmSv/T2/4+9dW28UYb+p/uV477d1wf+nCWS6VU
foreach ($curves as $curve) {
$ourPriv = EC::createKey($curve);
$theirPub = EC::createKey($curve)->getPublicKey();
- $this->assertInternalType('string', DH::computeSecret($ourPriv, $theirPub));
+ $this->assertIsString(DH::computeSecret($ourPriv, $theirPub));
}
}
@@ -264,3 +264,7 @@ Q3ADAIcv9LEmTBnSAOsCs1K9ExAmSv/T2/4+9dW28UYb+p/uV477d1wf+nCWS6VU
$this->assertSame($expected, DH::computeSecret($bobPrivate, $alicePublic));
}
}
+
+class DHTest extends Unit_Crypt_DHTest
+{
+}
diff --git a/tests/Unit/Crypt/DSA/CreateKeyTest.php b/tests/Unit/Crypt/DSA/CreateKeyTest.php
index 70dd1a61..c5a7223f 100644
--- a/tests/Unit/Crypt/DSA/CreateKeyTest.php
+++ b/tests/Unit/Crypt/DSA/CreateKeyTest.php
@@ -54,3 +54,6 @@ class Unit_Crypt_DSA_CreateKeyTest extends PhpseclibTestCase
}
}
+class CreateKeyTest extends Unit_Crypt_DSA_CreateKeyTest
+{
+}
diff --git a/tests/Unit/Crypt/DSA/LoadKeyTest.php b/tests/Unit/Crypt/DSA/LoadDSAKeyTest.php
similarity index 94%
rename from tests/Unit/Crypt/DSA/LoadKeyTest.php
rename to tests/Unit/Crypt/DSA/LoadDSAKeyTest.php
index 48b7f2af..0c681658 100644
--- a/tests/Unit/Crypt/DSA/LoadKeyTest.php
+++ b/tests/Unit/Crypt/DSA/LoadDSAKeyTest.php
@@ -14,7 +14,7 @@ use phpseclib3\Crypt\DSA\Formats\Keys\PKCS8;
use phpseclib3\Crypt\DSA\Formats\Keys\PuTTY;
use phpseclib3\Math\BigInteger;
-class Unit_Crypt_DSA_LoadKeyTest extends PhpseclibTestCase
+class Unit_Crypt_DSA_LoadDSAKeyTest extends PhpseclibTestCase
{
/**
* @expectedException \phpseclib3\Exception\NoKeyLoadedException
@@ -57,9 +57,9 @@ Private-MAC: 62b92ddd8b341b9414d640c24ba6ae929a78e039
$dsa = PublicKeyLoader::load($key);
$this->assertInstanceOf(PrivateKey::class, $dsa);
- $this->assertInternalType('string', "$dsa");
- $this->assertInternalType('string', $dsa->getPublicKey()->toString('PuTTY'));
- $this->assertInternalType('string', $dsa->getParameters()->toString('PuTTY'));
+ $this->assertIsString("$dsa");
+ $this->assertIsString($dsa->getPublicKey()->toString('PuTTY'));
+ $this->assertIsString($dsa->getParameters()->toString('PuTTY'));
$dsa = $dsa->withPassword('password');
$this->assertGreaterThan(0, strlen("$dsa"));
@@ -91,9 +91,9 @@ Eb2s9fDOpnMhj+WqwcQgs18=
$dsa = PublicKeyLoader::load($key);
$this->assertInstanceOf(PrivateKey::class, $dsa);
- $this->assertInternalType('string', "$dsa");
- $this->assertInternalType('string', $dsa->getPublicKey()->toString('PKCS1'));
- $this->assertInternalType('string', (string) $dsa->getParameters());
+ $this->assertIsString("$dsa");
+ $this->assertIsString($dsa->getPublicKey()->toString('PKCS1'));
+ $this->assertIsString((string) $dsa->getParameters());
}
public function testParameters()
@@ -133,7 +133,7 @@ ZpmyOpXM/0opRMIRdmqVW4ardBFNokmlqngwcbaptfRnk9W2cQtx0lmKy6X/vnis
$dsa = PublicKeyLoader::load($key);
$this->assertInstanceOf(PublicKey::class, $dsa);
- $this->assertInternalType('string', "$dsa");
+ $this->assertIsString("$dsa");
}
public function testPKCS8Private()
@@ -151,7 +151,7 @@ Syea3pSvWdBpVhWzOX4A7qbxs+bhWAQWAhQiF7sFfCtZ7oOgCb2aJ9ySC9sTug==
$dsa = PublicKeyLoader::load($key);
$this->assertInstanceOf(PrivateKey::class, $dsa);
- $this->assertInternalType('string', "$dsa");
+ $this->assertIsString("$dsa");
$this->assertInstanceOf(PublicKey::class, $dsa->getPublicKey());
$this->assertInstanceOf(Parameters::class, $dsa->getParameters());
}
@@ -208,7 +208,7 @@ ZpmyOpXM/0opRMIRdmqVW4ardBFNokmlqngwcbaptfRnk9W2cQtx0lmKy6X/vnis
$dsa = PublicKeyLoader::load($key);
$xml = $dsa->toString('XML');
- $this->assertContains('DSAKeyValue', $xml);
+ $this->assertStringContainsString('DSAKeyValue', $xml);
$dsa = PublicKeyLoader::load($xml);
$pkcs8 = $dsa->toString('PKCS8');
@@ -256,3 +256,7 @@ dlN48qLbSmUgsO7gq/1vodebMSHcduV4JTq8ix5Ey87QAAABQhHEzWiduF4V0DestSnJ3q
$this->assertTrue($key->verify('zzz', $sig));
}
}
+
+class LoadDSAKeyTest extends Unit_Crypt_DSA_LoadDSAKeyTest
+{
+}
diff --git a/tests/Unit/Crypt/DSA/SignatureTest.php b/tests/Unit/Crypt/DSA/SignatureTest.php
index a624508f..c1e9b080 100644
--- a/tests/Unit/Crypt/DSA/SignatureTest.php
+++ b/tests/Unit/Crypt/DSA/SignatureTest.php
@@ -122,3 +122,7 @@ kBniZHdFBAZBTE14YJUBkw==
$this->assertTrue($dsa->verify($message, $signature));
}
}
+
+class SignatureTest extends Unit_Crypt_DSA_SignatureTest
+{
+}
diff --git a/tests/Unit/Crypt/EC/CurveTest.php b/tests/Unit/Crypt/EC/CurveTest.php
index 93d20d64..23e67e65 100644
--- a/tests/Unit/Crypt/EC/CurveTest.php
+++ b/tests/Unit/Crypt/EC/CurveTest.php
@@ -509,3 +509,7 @@ Private-MAC: b85ca0eb7c612df5d18af85128821bd53faaa3ef');
$this->assertTrue($public->verify($message, $signature, 'Raw'));
}
}
+
+class CurveTest extends Unit_Crypt_EC_CurveTest
+{
+}
diff --git a/tests/Unit/Crypt/EC/KeyTest.php b/tests/Unit/Crypt/EC/KeyTest.php
index 60b958f1..e3b2afa8 100644
--- a/tests/Unit/Crypt/EC/KeyTest.php
+++ b/tests/Unit/Crypt/EC/KeyTest.php
@@ -14,7 +14,7 @@ use phpseclib3\Crypt\EC\Formats\Keys\XML;
use phpseclib3\Crypt\PublicKeyLoader;
use phpseclib3\Crypt\EC\PrivateKey;
-class Unit_Crypt_EC_LoadKeyTest extends PhpseclibTestCase
+class Unit_Crypt_EC_KeyTest extends PhpseclibTestCase
{
public function testBinaryPKCS1PrivateParameters()
{
@@ -508,3 +508,7 @@ lEIq93iMVzIArjGaKrFDAAAADHJvb3RAdmFncmFudAE=
$this->assertTrue($key->withSignatureFormat('SSH2')->verify('zzz', $sig2));
}
}
+
+class KeyTest extends Unit_Crypt_EC_KeyTest
+{
+}
diff --git a/tests/Unit/Crypt/GCMTest.php b/tests/Unit/Crypt/GCMTest.php
index 090f2152..3927c116 100644
--- a/tests/Unit/Crypt/GCMTest.php
+++ b/tests/Unit/Crypt/GCMTest.php
@@ -235,3 +235,7 @@ class Unit_Crypt_GCMTest extends PhpseclibTestCase
$this->assertEquals($plaintext, $aes->decrypt($ciphertext));
}
}
+
+class GCMTest extends Unit_Crypt_GCMTest
+{
+}
diff --git a/tests/Unit/Crypt/HashTest.php b/tests/Unit/Crypt/HashTest.php
index 9c8a1e3d..0ef81c92 100644
--- a/tests/Unit/Crypt/HashTest.php
+++ b/tests/Unit/Crypt/HashTest.php
@@ -465,3 +465,7 @@ class Unit_Crypt_HashTest extends PhpseclibTestCase
$this->assertSame($hash->hash($message), pack('H*', $tag), $error);
}
}
+
+class HashTest extends Unit_Crypt_HashTest
+{
+}
diff --git a/tests/Unit/Crypt/RC2Test.php b/tests/Unit/Crypt/RC2Test.php
index bd1ed161..a05cc5fb 100644
--- a/tests/Unit/Crypt/RC2Test.php
+++ b/tests/Unit/Crypt/RC2Test.php
@@ -127,3 +127,7 @@ class Unit_Crypt_RC2Test extends PhpseclibTestCase
$this->assertEquals($result, $plaintext, "Failed asserting that decrypted result yielded $plaintext as a result in $engine engine");
}
}
+
+class RC2Test extends Unit_Crypt_RC2Test
+{
+}
diff --git a/tests/Unit/Crypt/RC4Test.php b/tests/Unit/Crypt/RC4Test.php
index 92df2c42..07c7f2b7 100644
--- a/tests/Unit/Crypt/RC4Test.php
+++ b/tests/Unit/Crypt/RC4Test.php
@@ -250,3 +250,7 @@ class Unit_Crypt_RC4Test extends PhpseclibTestCase
}
}
}
+
+class RC4Test extends Unit_Crypt_RC4Test
+{
+}
diff --git a/tests/Unit/Crypt/RSA/CreateKeyTest.php b/tests/Unit/Crypt/RSA/CreateKeyTest.php
index 6506d862..7c56312f 100644
--- a/tests/Unit/Crypt/RSA/CreateKeyTest.php
+++ b/tests/Unit/Crypt/RSA/CreateKeyTest.php
@@ -34,7 +34,7 @@ class Unit_Crypt_RSA_CreateKeyTest extends PhpseclibTestCase
{
list($publickey, $privatekey) = $args;
$ciphertext = $publickey->encrypt('zzz');
- $this->assertInternalType('string', $ciphertext);
+ $this->assertIsString($ciphertext);
$plaintext = $privatekey->decrypt($ciphertext);
$this->assertSame($plaintext, 'zzz');
}
diff --git a/tests/Unit/Crypt/RSA/LoadKeyTest.php b/tests/Unit/Crypt/RSA/LoadKeyTest.php
index f2fe3e0c..2c04e2b3 100644
--- a/tests/Unit/Crypt/RSA/LoadKeyTest.php
+++ b/tests/Unit/Crypt/RSA/LoadKeyTest.php
@@ -52,7 +52,7 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
$rsa = PublicKeyLoader::load($key);
$this->assertInstanceOf(PrivateKey::class, $rsa);
- $this->assertInternalType('string', "$rsa");
+ $this->assertIsString("$rsa");
}
public function testPKCS1SpacesKey()
@@ -75,7 +75,7 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
$rsa = PublicKeyLoader::load($key);
$this->assertInstanceOf(PrivateKey::class, $rsa);
- $this->assertInternalType('string', "$rsa");
+ $this->assertIsString("$rsa");
}
public function testPKCS1NoHeaderKey()
@@ -95,7 +95,7 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
$rsa = PublicKeyLoader::load($key);
$this->assertInstanceOf(PrivateKey::class, $rsa);
- $this->assertInternalType('string', "$rsa");
+ $this->assertIsString("$rsa");
}
public function testPKCS1NoWhitespaceNoHeaderKey()
@@ -115,7 +115,7 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
$rsa = PublicKeyLoader::load($key);
$this->assertInstanceOf(PrivateKey::class, $rsa);
- $this->assertInternalType('string', "$rsa");
+ $this->assertIsString("$rsa");
}
public function testRawPKCS1Key()
@@ -136,7 +136,7 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
$rsa = PublicKeyLoader::load($key);
$this->assertInstanceOf(PrivateKey::class, $rsa);
- $this->assertInternalType('string', "$rsa");
+ $this->assertIsString("$rsa");
}
public function testLoadPKCS8PrivateKey()
@@ -174,7 +174,7 @@ xryZaRDVmtMuf/OZBQ==
$rsa = PublicKeyLoader::load($key, 'password');
$this->assertInstanceOf(PrivateKey::class, $rsa);
- $this->assertInternalType('string', "$rsa");
+ $this->assertIsString("$rsa");
}
public function testSavePKCS8PrivateKey()
@@ -247,7 +247,7 @@ Ao8eayMp6FcvNucIpUndo1X8dKMv3Y26ZQIDAQAB
$rsa = PublicKeyLoader::load($key)->asPrivateKey();
$this->assertInstanceOf(PrivateKey::class, $rsa);
- $this->assertInternalType('string', $rsa->sign('zzz'));
+ $this->assertIsString($rsa->sign('zzz'));
}
public function testSSHPubKey()
@@ -574,6 +574,7 @@ mKVKf5kPx2aR2W2KAcgw3TJIu1QX7N+l3kFrf9Owtz1a
-----END ENCRYPTED PRIVATE KEY-----';
$pass = 'asdf';
+<<<<<<< HEAD
$this->pkcs8tester($key, $pass);
}
@@ -1043,6 +1044,10 @@ n9dyFZYXxil/cgFG/PDMnuXy1Wcl8hb8iwQag4Y7ohiLXVTJa/0BAgMBAAE=
-----END RSA PRIVATE KEY-----';
$key = PublicKeyLoader::load($key);
$result = $key->toString('PKCS1');
- $this->assertInternalType('string', $result);
+ $this->assertIsString($result);
}
}
+
+class LoadKeyTest extends Unit_Crypt_RSA_LoadKeyTest
+{
+}
diff --git a/tests/Unit/Crypt/RSA/ModeTest.php b/tests/Unit/Crypt/RSA/ModeTest.php
index bc4e12e4..b252f799 100644
--- a/tests/Unit/Crypt/RSA/ModeTest.php
+++ b/tests/Unit/Crypt/RSA/ModeTest.php
@@ -184,3 +184,7 @@ HERE;
$this->assertEquals('sha1', $rsa->getMGFHash());
}
}
+
+class ModeTest extends Unit_Crypt_RSA_ModeTest
+{
+}
diff --git a/tests/Unit/Crypt/RandomTest.php b/tests/Unit/Crypt/RandomTest.php
index 5385826c..989b9c5f 100644
--- a/tests/Unit/Crypt/RandomTest.php
+++ b/tests/Unit/Crypt/RandomTest.php
@@ -53,3 +53,7 @@ class Unit_Crypt_RandomTest extends PhpseclibTestCase
return [$x];
}
}
+
+class RandomTest extends Unit_Crypt_RandomTest
+{
+}
diff --git a/tests/Unit/Crypt/Salsa20.php b/tests/Unit/Crypt/Salsa20.php
index 974feba7..188d6fc9 100644
--- a/tests/Unit/Crypt/Salsa20.php
+++ b/tests/Unit/Crypt/Salsa20.php
@@ -158,3 +158,7 @@ class Unit_Crypt_Salsa20Test extends PhpseclibTestCase
$this->assertEquals(bin2hex($result), $expected, "Failed asserting that key $key / $iv yielded expected output in $engine engine");
}
}
+
+class Salsa20Test extends Unit_Crypt_Salsa20Test
+{
+}
diff --git a/tests/Unit/Crypt/TripleDESTest.php b/tests/Unit/Crypt/TripleDESTest.php
index 700bb211..e189523f 100644
--- a/tests/Unit/Crypt/TripleDESTest.php
+++ b/tests/Unit/Crypt/TripleDESTest.php
@@ -201,3 +201,7 @@ class Unit_Crypt_TripleDESTest extends PhpseclibTestCase
}
}
}
+
+class TripleDESTest extends Unit_Crypt_TripleDESTest
+{
+}
diff --git a/tests/Unit/Crypt/TwofishTest.php b/tests/Unit/Crypt/TwofishTest.php
index e9f3f78d..6044cc64 100644
--- a/tests/Unit/Crypt/TwofishTest.php
+++ b/tests/Unit/Crypt/TwofishTest.php
@@ -73,3 +73,7 @@ class Unit_Crypt_TwofishTest extends PhpseclibTestCase
}
}
}
+
+class TwofishTest extends Unit_Crypt_TwofishTest
+{
+}
diff --git a/tests/Unit/File/ANSITest.php b/tests/Unit/File/ANSITest.php
index 0cc4a029..7775d7bd 100644
--- a/tests/Unit/File/ANSITest.php
+++ b/tests/Unit/File/ANSITest.php
@@ -63,3 +63,7 @@ class Unit_File_ANSITest extends PhpseclibTestCase
$this->assertSame(str_repeat('z', 80), $lines[22]);
}
}
+
+class ANSITest extends Unit_File_ANSITest
+{
+}
diff --git a/tests/Unit/File/ASN1Test.php b/tests/Unit/File/ASN1Test.php
index 810111e0..c1b7a4ef 100644
--- a/tests/Unit/File/ASN1Test.php
+++ b/tests/Unit/File/ASN1Test.php
@@ -78,7 +78,7 @@ class Unit_File_ASN1Test extends PhpseclibTestCase
$decoded = ASN1::decodeBER(base64_decode($str));
$result = ASN1::asn1map($decoded[0], $AS_REP);
- $this->assertInternalType('array', $result);
+ $this->assertIsArray($result);
}
/**
@@ -229,7 +229,7 @@ class Unit_File_ASN1Test extends PhpseclibTestCase
$decoded = ASN1::decodeBER(base64_decode($str));
$result = ASN1::asn1map($decoded[0], $AS_REP);
- $this->assertInternalType('array', $result);
+ $this->assertIsArray($result);
}
/**
@@ -271,7 +271,7 @@ class Unit_File_ASN1Test extends PhpseclibTestCase
public function testContextSpecificNonConstructed()
{
$decoded = ASN1::decodeBER(base64_decode('MBaAFJtUo7c00HsI5EPZ4bkICfkOY2Pv'));
- $this->assertInternalType('string', $decoded[0]['content'][0]['content']);
+ $this->assertIsString($decoded[0]['content'][0]['content']);
}
/**
@@ -280,7 +280,7 @@ class Unit_File_ASN1Test extends PhpseclibTestCase
public function testEmptyContextTag()
{
$decoded = ASN1::decodeBER("\xa0\x00");
- $this->assertInternalType('array', $decoded);
+ $this->assertIsArray($decoded);
$this->assertCount(0, $decoded[0]['content']);
}
@@ -390,6 +390,10 @@ class Unit_File_ASN1Test extends PhpseclibTestCase
$a = ASN1::decodeBER($a);
$a = ASN1::asn1map($a[0], $map);
- $this->assertInternalType('array', $a);
+ $this->assertIsArray($a);
}
}
+
+class ASN1Test extends Unit_File_ASN1Test
+{
+}
diff --git a/tests/Unit/File/X509/CSRTest.php b/tests/Unit/File/X509/CSRTest.php
index 4e5e666f..93ce07b5 100644
--- a/tests/Unit/File/X509/CSRTest.php
+++ b/tests/Unit/File/X509/CSRTest.php
@@ -28,7 +28,7 @@ v5RwaQHmQEzHofTzF7I+
$spkac = $x509->loadCSR($test);
- $this->assertInternalType('array', $spkac);
+ $this->assertIsArray($spkac);
}
public function testCSRWithAttributes()
@@ -68,7 +68,7 @@ draiRBZruwMPwPIP
$csr = $x509->loadCSR($test);
- $this->assertInternalType('array', $csr);
+ $this->assertIsArray($csr);
}
public function testCSRDER()
@@ -93,7 +93,7 @@ draiRBZruwMPwPIP
$csr = $x509->loadCSR($csr);
- $this->assertInternalType('array', $csr);
+ $this->assertIsArray($csr);
}
// on PHP 7.1, with older versions of phpseclib, this would produce a "A non-numeric value encountered" warning
@@ -121,3 +121,7 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
$x509->saveCSR($x509->signCSR(), X509::FORMAT_DER);
}
}
+
+class CSRTest extends Unit_File_X509_CSRTest
+{
+}
diff --git a/tests/Unit/File/X509/SPKACTest.php b/tests/Unit/File/X509/SPKACTest.php
index d71d2813..26678b33 100644
--- a/tests/Unit/File/X509/SPKACTest.php
+++ b/tests/Unit/File/X509/SPKACTest.php
@@ -28,11 +28,11 @@ class Unit_File_X509_SPKACTest extends PhpseclibTestCase
$spkac = $x509->loadSPKAC($test);
- $this->assertInternalType('array', $spkac);
+ $this->assertIsArray($spkac);
$spkac = $x509->loadSPKAC('SPKAC=' . $test);
- $this->assertInternalType('array', $spkac);
+ $this->assertIsArray($spkac);
$this->assertTrue(
$x509->validateSignature(),
@@ -41,7 +41,7 @@ class Unit_File_X509_SPKACTest extends PhpseclibTestCase
$pubKey = $x509->getPublicKey();
- $this->assertInternalType('string', "$pubKey");
+ $this->assertIsString("$pubKey");
}
public function testSaveSPKAC()
@@ -55,17 +55,17 @@ class Unit_File_X509_SPKACTest extends PhpseclibTestCase
$x509->setChallenge('...');
$spkac = $x509->signSPKAC();
- $this->assertInternalType('array', $spkac);
+ $this->assertIsArray($spkac);
- $this->assertInternalType('string', $x509->saveSPKAC($spkac));
+ $this->assertIsString($x509->saveSPKAC($spkac));
$x509 = new X509();
$x509->setPrivateKey($privatekey);
$spkac = $x509->signSPKAC();
- $this->assertInternalType('array', $spkac);
+ $this->assertIsArray($spkac);
- $this->assertInternalType('string', $x509->saveSPKAC($spkac));
+ $this->assertIsString($x509->saveSPKAC($spkac));
}
public function testBadSignatureSPKAC()
@@ -96,3 +96,7 @@ class Unit_File_X509_SPKACTest extends PhpseclibTestCase
);
}
}
+
+class SPKACTest extends Unit_File_X509_SPKACTest
+{
+}
diff --git a/tests/Unit/File/X509/X509Test.php b/tests/Unit/File/X509/X509Test.php
index 3aaefd36..be32bd2f 100644
--- a/tests/Unit/File/X509/X509Test.php
+++ b/tests/Unit/File/X509/X509Test.php
@@ -59,7 +59,7 @@ k6m17mi63YW/+iPCGOWZ2qXmY5HPEyyF2L4L4IDryFJ+8xLyw3pH9/yp5aHZDtp6
$cert = $x509->loadX509($test);
- $this->assertInternalType('array', $cert['tbsCertificate']['extensions'][3]['extnValue']);
+ $this->assertIsArray($cert['tbsCertificate']['extensions'][3]['extnValue']);
}
public function testLoadUnsupportedExtension()
@@ -865,7 +865,7 @@ uhPlgkgknwIgdDqqKIAF60ouiynsbU53ERS0TwpjeFiYGA48SwYW3Nk=
$result = $x509->sign($issuer, $subject);
$result = $x509->saveX509($result);
- $this->assertInternalType('string', $result);
+ $this->assertIsString($result);
$r = $x509->loadX509($result);
$this->assertSame('id-dsa-with-sha256', $r['tbsCertificate']['signature']['algorithm']);
@@ -896,7 +896,7 @@ wkwhE/JaQAEHq2PHnEmvwyBiJcHSdLXkcLzYlg19Ho0BPqVKdulx8GAk
$result = $x509->sign($issuer, $subject);
$result = $x509->saveX509($result);
- $this->assertInternalType('string', $result);
+ $this->assertIsString($result);
$r = $x509->loadX509($result);
$this->assertSame('ecdsa-with-SHA256', $r['tbsCertificate']['signature']['algorithm']);
@@ -935,7 +935,7 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
$result = $x509->sign($issuer, $subject);
$result = $x509->saveX509($result);
- $this->assertInternalType('string', $result);
+ $this->assertIsString($result);
$r = $x509->loadX509($result);
$this->assertSame('id-RSASSA-PSS', $r['tbsCertificate']['signature']['algorithm']);
@@ -979,7 +979,7 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
$result = $x509->sign($issuer, $subject);
$result = $x509->saveX509($result);
- $this->assertInternalType('string', $result);
+ $this->assertIsString($result);
$r = $x509->loadX509($result);
$this->assertSame('sha256WithRSAEncryption', $r['tbsCertificate']['signature']['algorithm']);
@@ -1170,3 +1170,7 @@ mDaPrsUl15evEah6amsBfpQiWRbKpDLKs1kF
$this->assertFalse($r);
}
}
+
+class X509Test extends Unit_File_X509_X509Test
+{
+}
diff --git a/tests/Unit/Math/BigInteger/BCMathTest.php b/tests/Unit/Math/BigInteger/BCMathTest.php
index 1aab9ebd..2ed99056 100644
--- a/tests/Unit/Math/BigInteger/BCMathTest.php
+++ b/tests/Unit/Math/BigInteger/BCMathTest.php
@@ -27,3 +27,7 @@ class Unit_Math_BigInteger_BCMathTest extends Unit_Math_BigInteger_TestCase
return 'phpseclib3\Math\BigInteger\Engines\BCMath';
}
}
+
+class BCMathTest extends Unit_Math_BigInteger_BCMathTest
+{
+}
diff --git a/tests/Unit/Math/BigInteger/DefaultTest.php b/tests/Unit/Math/BigInteger/DefaultTest.php
index 640d06d4..cfc4fb48 100644
--- a/tests/Unit/Math/BigInteger/DefaultTest.php
+++ b/tests/Unit/Math/BigInteger/DefaultTest.php
@@ -19,3 +19,7 @@ class Unit_Math_BigInteger_DefaultTest extends Unit_Math_BigInteger_TestCase
return 'phpseclib3\Math\BigInteger';
}
}
+
+class DefaultTest extends Unit_Math_BigInteger_DefaultTest
+{
+}
diff --git a/tests/Unit/Math/BigInteger/GMPTest.php b/tests/Unit/Math/BigInteger/GMPTest.php
index bcbecdc3..f7ba9808 100644
--- a/tests/Unit/Math/BigInteger/GMPTest.php
+++ b/tests/Unit/Math/BigInteger/GMPTest.php
@@ -27,3 +27,7 @@ class Unit_Math_BigInteger_GMPTest extends Unit_Math_BigInteger_TestCase
return 'phpseclib3\Math\BigInteger\Engines\GMP';
}
}
+
+class GMPTest extends Unit_Math_BigInteger_GMPTest
+{
+}
diff --git a/tests/Unit/Math/BigInteger/PHP32Test.php b/tests/Unit/Math/BigInteger/PHP32Test.php
index c9b3cfdd..3d2b7637 100644
--- a/tests/Unit/Math/BigInteger/PHP32Test.php
+++ b/tests/Unit/Math/BigInteger/PHP32Test.php
@@ -36,3 +36,7 @@ class Unit_Math_BigInteger_PHP32Test extends Unit_Math_BigInteger_TestCase
return 'phpseclib3\Math\BigInteger\Engines\PHP32';
}
}
+
+class PHP32Test extends Unit_Math_BigInteger_PHP32Test
+{
+}
diff --git a/tests/Unit/Math/BigInteger/PHP64OpenSSLTest.php b/tests/Unit/Math/BigInteger/PHP64OpenSSLTest.php
index c4a28bcf..b8654a84 100644
--- a/tests/Unit/Math/BigInteger/PHP64OpenSSLTest.php
+++ b/tests/Unit/Math/BigInteger/PHP64OpenSSLTest.php
@@ -20,3 +20,7 @@ class Unit_Math_BigInteger_PHP64OpenSSLTest extends Unit_Math_BigInteger_PHP64Te
}
}
}
+
+class PHP64OpenSSLTest extends Unit_Math_BigInteger_PHP64OpenSSLTest
+{
+}
diff --git a/tests/Unit/Math/BigInteger/PHP64Test.php b/tests/Unit/Math/BigInteger/PHP64Test.php
index f1c89093..c44af643 100644
--- a/tests/Unit/Math/BigInteger/PHP64Test.php
+++ b/tests/Unit/Math/BigInteger/PHP64Test.php
@@ -35,3 +35,7 @@ class Unit_Math_BigInteger_PHP64Test extends Unit_Math_BigInteger_TestCase
return 'phpseclib3\Math\BigInteger\Engines\PHP64';
}
}
+
+classs PHP64Test extends Unit_Math_BigInteger_PHP64Test
+{
+}
diff --git a/tests/Unit/Math/BigInteger/TestCase.php b/tests/Unit/Math/BigInteger/TestCase.php
index a64fb9ad..75066a54 100644
--- a/tests/Unit/Math/BigInteger/TestCase.php
+++ b/tests/Unit/Math/BigInteger/TestCase.php
@@ -384,7 +384,7 @@ abstract class Unit_Math_BigInteger_TestCase extends PhpseclibTestCase
{
$num = $this->getInstance(50);
$str = print_r($num, true);
- $this->assertContains('[value] => 0x32', $str);
+ $this->assertStringContainsString('[value] => 0x32', $str);
}
public function testPrecision()
diff --git a/tests/Unit/Math/BigIntegerTest.php b/tests/Unit/Math/BigIntegerTest.php
index ee84d3a0..632eb068 100644
--- a/tests/Unit/Math/BigIntegerTest.php
+++ b/tests/Unit/Math/BigIntegerTest.php
@@ -71,3 +71,7 @@ ENGINE
static::assertSame($expectedEngineClass, $bigint->toString());
}
}
+
+class BigIntegerTest extends Unit_Math_BigIntegerTest
+{
+}
diff --git a/tests/Unit/Net/SFTPStreamTest.php b/tests/Unit/Net/SFTPStreamUnitTest.php
similarity index 85%
rename from tests/Unit/Net/SFTPStreamTest.php
rename to tests/Unit/Net/SFTPStreamUnitTest.php
index 90647bd7..8a365ad8 100644
--- a/tests/Unit/Net/SFTPStreamTest.php
+++ b/tests/Unit/Net/SFTPStreamUnitTest.php
@@ -7,7 +7,7 @@
use phpseclib3\Net\SFTP\Stream;
-class Unit_Net_SFTPStreamTest extends PhpseclibTestCase
+class Unit_Net_SFTPStreamUnitTest extends PhpseclibTestCase
{
public function testRegisterWithoutArgument()
{
@@ -24,3 +24,7 @@ class Unit_Net_SFTPStreamTest extends PhpseclibTestCase
$this->assertTrue(stream_wrapper_unregister($protocol));
}
}
+
+class SFTPStreamUnitTest extends Unit_Net_SFTPStreamUnitTest
+{
+}
diff --git a/tests/Unit/Net/SSH2Test.php b/tests/Unit/Net/SSH2UnitTest.php
similarity index 76%
rename from tests/Unit/Net/SSH2Test.php
rename to tests/Unit/Net/SSH2UnitTest.php
index 8703709a..ad599106 100644
--- a/tests/Unit/Net/SSH2Test.php
+++ b/tests/Unit/Net/SSH2UnitTest.php
@@ -6,7 +6,7 @@
* @license http://www.opensource.org/licenses/mit-license.html MIT License
*/
-class Unit_Net_SSH2Test extends PhpseclibTestCase
+class Unit_Net_SSH2UnitTest extends PhpseclibTestCase
{
public function formatLogDataProvider()
{
@@ -41,30 +41,30 @@ class Unit_Net_SSH2Test extends PhpseclibTestCase
$identifier = self::callFunc($this->createSSHMock(), 'generate_identifier');
$this->assertStringStartsWith('SSH-2.0-phpseclib_3.0', $identifier);
- if (function_exists('\\Sodium\\library_version_major')) {
+ if (function_exists('sodium_crypto_sign_keypair')) {
$this->assertContains('libsodium', $identifier);
}
if (extension_loaded('openssl')) {
- $this->assertContains('openssl', $identifier);
- $this->assertNotContains('mcrypt', $identifier);
+ $this->assertStringContainsString('openssl', $identifier);
+ $this->assertStringNotContainsString('mcrypt', $identifier);
} elseif (extension_loaded('mcrypt')) {
- $this->assertNotContains('openssl', $identifier);
- $this->assertContains('mcrypt', $identifier);
+ $this->assertStringNotContainsString('openssl', $identifier);
+ $this->assertStringContainsString('mcrypt', $identifier);
} else {
- $this->assertNotContains('openssl', $identifier);
- $this->assertNotContains('mcrypt', $identifier);
+ $this->assertStringNotContainsString('openssl', $identifier);
+ $this->assertStringNotContainsString('mcrypt', $identifier);
}
if (extension_loaded('gmp')) {
- $this->assertContains('gmp', $identifier);
- $this->assertNotContains('bcmath', $identifier);
+ $this->assertStringContainsString('gmp', $identifier);
+ $this->assertStringNotContainsString('bcmath', $identifier);
} elseif (extension_loaded('bcmath')) {
- $this->assertNotContains('gmp', $identifier);
- $this->assertContains('bcmath', $identifier);
+ $this->assertStringNotContainsString('gmp', $identifier);
+ $this->assertStringContainsString('bcmath', $identifier);
} else {
- $this->assertNotContains('gmp', $identifier);
- $this->assertNotContains('bcmath', $identifier);
+ $this->assertStringNotContainsString('gmp', $identifier);
+ $this->assertStringNotContainsString('bcmath', $identifier);
}
}
@@ -133,3 +133,7 @@ class Unit_Net_SSH2Test extends PhpseclibTestCase
->getMock();
}
}
+
+class SSH2UnitTest extends Unit_Net_SSH2UnitTest
+{
+}
diff --git a/travis/run-phpunit.sh b/travis/run-phpunit.sh
index ce393a77..2b1d90cc 100755
--- a/travis/run-phpunit.sh
+++ b/travis/run-phpunit.sh
@@ -20,6 +20,17 @@ then
PHPUNIT_ARGS="$PHPUNIT_ARGS -d zend.enable_gc=0"
fi
+if [ `php -r "echo (int) version_compare(PHP_VERSION, '7.3', '>=');"` = "1" ]
+then
+ find tests -type f -name "*.php" -print0 | xargs -0 sed -i 's/n setUpBeforeClass()/n setUpBeforeClass(): void/g'
+ find tests -type f -name "*.php" -print0 | xargs -0 sed -i 's/n setUp()/n setUp(): void/g'
+ find tests -type f -name "*.php" -print0 | xargs -0 sed -i 's/n tearDown()/n tearDown(): void/g'
+ find tests -type f -name "*.php" -print0 | xargs -0 sed -i 's/\(n assertIsArray([^)]*)\)/\1: void/g'
+ find tests -type f -name "*.php" -print0 | xargs -0 sed -i 's/\(n assertIsString([^)]*)\)/\1: void/g'
+ find tests -type f -name "*.php" -print0 | xargs -0 sed -i 's/\(n assertStringContainsString([^)]*)\)/\1: void/g'
+ find tests -type f -name "*.php" -print0 | xargs -0 sed -i 's/\(n assertStringNotContainsString([^)]*)\)/\1: void/g'
+fi
+
if [ "$TRAVIS_PHP_VERSION" = 'hhvm' -o `php -r "echo (int) version_compare(PHP_VERSION, '7.0', '>=');"` = "1" ]
then
find tests -type f -name "*Test.php" | \