浏览代码

Adding test helper to test private methods

tags/v8.0.0alpha1
Clark Tomlinson 9 年前
父节点
当前提交
2b209d27d0
共有 1 个文件被更改,包括 28 次插入0 次删除
  1. 28
    0
      tests/lib/helper.php

+ 28
- 0
tests/lib/helper.php 查看文件

@@ -496,4 +496,32 @@ class Test_Helper extends PHPUnit_Framework_TestCase {
\OC_Helper::rmdirr($baseDir);
$this->assertFalse(file_exists($baseDir));
}

/**
* Allows us to test private methods/properties
*
* @param $object
* @param $methodName
* @param array $parameters
* @return mixed
*/
public static function invokePrivate($object, $methodName, array $parameters = array()) {
$reflection = new ReflectionClass(get_class($object));

if ($reflection->hasMethod($methodName)) {
$method = $reflection->getMethod($methodName);

$method->setAccessible(true);

return $method->invokeArgs($object, $parameters);
} elseif ($reflection->hasProperty($methodName)) {
$property = $reflection->getProperty($methodName);

$property->setAccessible(true);

return $property->getValue($object);
}

return false;
}
}

正在加载...
取消
保存