/** * Generates code and creates a mock object that can be used to do * assertions as you would a normal mock object. * * NOTE: Does not currently handle parameters passed by reference. * * @param string $name * @return PHPUnit_Framework_MockObject_MockObject */ public function getFunctionMock($name) { if (!class_exists('FunctionMock', false)) { eval('class FunctionMock { function invoke() {} }'); } $mockClass = $this->getMock('FunctionMock'); PHPToolsTestUtil::renameFunction($name, function () use($mockClass) { return call_user_func_array(array($mockClass, 'invoke'), func_get_args()); }); return $mockClass; }