diff --git a/tests/Functional/Net/SFTPUserStoryTest.php b/tests/Functional/Net/SFTPUserStoryTest.php index 24481715..f7cc32bf 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 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 3eaff1c7..e946a652 100644 --- a/tests/PhpseclibTestCase.php +++ b/tests/PhpseclibTestCase.php @@ -183,4 +183,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); + } + } }