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);
if (is_callable($callback)) {
$callback($sent);
call_user_func($callback, $sent);
}
}
$this->_close();

View File

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

View File

@ -41,5 +41,21 @@ class Net_SSH2FunctionalTest extends PhpseclibFunctionalTestCase
$ssh->login($username, $password),
'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'));
}
}