Merge pull request #283 from bantu/tests-bug280

Tests for bug280 [use of $callback()]

* bantu/tests-bug280:
  Tests for bug280.
  Also replace this with call_user_func
  Use call_user_func, as this will work on PHP < 5.4, whereas $callback() does not
This commit is contained in:
Andreas Fischer 2014-03-06 12:05:11 +01:00
commit 5dcc63ef6c
3 changed files with 18 additions and 2 deletions

View File

@ -216,7 +216,7 @@ class Net_SCP
$sent+= strlen($temp); $sent+= strlen($temp);
if (is_callable($callback)) { if (is_callable($callback)) {
$callback($sent); call_user_func($callback, $sent);
} }
} }
$this->_close(); $this->_close();

View File

@ -2258,7 +2258,7 @@ class Net_SSH2
return false; return false;
default: default:
if (is_callable($callback)) { if (is_callable($callback)) {
$callback($temp); call_user_func($callback, $temp);
} else { } else {
$output.= $temp; $output.= $temp;
} }

View File

@ -41,5 +41,21 @@ class Net_SSH2FunctionalTest extends PhpseclibFunctionalTestCase
$ssh->login($username, $password), $ssh->login($username, $password),
'SSH2 login using password failed.' 'SSH2 login using password failed.'
); );
return $ssh;
}
/**
* @depends testPasswordLogin
* @group bug280
*/
public function testExecWithMethodCallback($ssh)
{
$callbackObject = $this->getMock('stdClass', array('callbackMethod'));
$callbackObject
->expects($this->atLeastOnce())
->method('callbackMethod')
->will($this->returnValue(true));
$ssh->exec('ls', array($callbackObject, 'callbackMethod'));
} }
} }