diff --git a/tests/Functional/Net/SFTPUserStoryTest.php b/tests/Functional/Net/SFTPUserStoryTest.php index 04b65564..e7d81f7c 100644 --- a/tests/Functional/Net/SFTPUserStoryTest.php +++ b/tests/Functional/Net/SFTPUserStoryTest.php @@ -25,6 +25,14 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase self::$exampleDataLength = 10000; } + public function testBadHostname() + { + $this->setExpectedException('PHPUnit_Framework_Error_Notice'); + + $sftp = new Net_SFTP('bad host name'); + $sftp->login('username', 'password'); + } + public function testConstructor() { $sftp = new SFTP($this->getEnv('SSH_HOSTNAME')); diff --git a/tests/PhpseclibTestCase.php b/tests/PhpseclibTestCase.php index e07533a1..547c5a6d 100644 --- a/tests/PhpseclibTestCase.php +++ b/tests/PhpseclibTestCase.php @@ -145,4 +145,24 @@ abstract class PhpseclibTestCase extends PHPUnit\Framework\TestCase parent::assertNotContains($needle, $haystack, $message); } + + public function setExpectedException($name, $message = null, $code = null) + { + if (version_compare(PHP_VERSION, '7.0.0') < 0) { + parent::setExpectedException($name, $message, $code); + return; + } + switch ($name) { + case 'PHPUnit_Framework_Error_Notice': + case 'PHPUnit_Framework_Error_Warning': + $name = str_replace('_', '\\', $name); + } + $this->expectException($name); + if (!empty($message)) { + $this->expectExceptionMessage($message); + } + if (!empty($code)) { + $this->expectExceptionCode($code); + } + } }