Fix unit tests

This commit is contained in:
Adrien Crivelli 2018-10-21 17:51:54 +11:00
parent 09eb05f367
commit 54efe8824e
No known key found for this signature in database
GPG Key ID: B182FD79DC6DE92E

View File

@ -3942,7 +3942,7 @@ class Calculation
} }
// Process the argument with the appropriate function call // Process the argument with the appropriate function call
$args = $this->addCellReference($args, $passCellReference, $pCell, $functionCall); $args = $this->addCellReference($args, $passCellReference, $functionCall, $pCell);
if (!is_array($functionCall)) { if (!is_array($functionCall)) {
foreach ($args as &$arg) { foreach ($args as &$arg) {
@ -4440,21 +4440,23 @@ class Calculation
* *
* @param array $args * @param array $args
* @param bool $passCellReference * @param bool $passCellReference
* @param Cell $pCell * @param array|string $functionCall
* @param array $functionCall * @param null|Cell $pCell
* *
* @return array * @return array
*/ */
private function addCellReference(array $args, $passCellReference, Cell $pCell, array $functionCall) private function addCellReference(array $args, $passCellReference, $functionCall, Cell $pCell = null)
{ {
if ($passCellReference) { if ($passCellReference) {
$className = $functionCall[0]; if (is_array($functionCall)) {
$methodName = $functionCall[1]; $className = $functionCall[0];
$methodName = $functionCall[1];
$reflectionMethod = new \ReflectionMethod($className, $methodName); $reflectionMethod = new \ReflectionMethod($className, $methodName);
$argumentCount = count($reflectionMethod->getParameters()); $argumentCount = count($reflectionMethod->getParameters());
while (count($args) < $argumentCount - 1) { while (count($args) < $argumentCount - 1) {
$args[] = null; $args[] = null;
}
} }
$args[] = $pCell; $args[] = $pCell;