Mockery\Mock::mockery_returnValueForMethod PHP Method

mockery_returnValueForMethod() public method

public mockery_returnValueForMethod ( string $name ) : mixed
$name string Method name.
return mixed Generated return value based on the declared return value of the named method.
    public function mockery_returnValueForMethod($name)
    {
        if (version_compare(PHP_VERSION, '7.0.0-dev') < 0) {
            return;
        }
        $rm = $this->mockery_getMethod($name);
        if (!$rm || !$rm->hasReturnType()) {
            return;
        }
        $type = (string) $rm->getReturnType();
        switch ($type) {
            case '':
                return;
            case 'string':
                return '';
            case 'int':
                return 0;
            case 'float':
                return 0.0;
            case 'bool':
                return false;
            case 'array':
                return [];
            case 'callable':
            case 'Closure':
                return function () {
                };
            case 'Traversable':
            case 'Generator':
                // Remove eval() when minimum version >=5.5
                $generator = eval('return function () { yield; };');
                return $generator();
            case 'self':
                return \Mockery::mock($rm->getDeclaringClass()->getName());
            case 'void':
                return null;
            default:
                return \Mockery::mock($type);
        }
    }