Test project for media files management.
<?php
/**
* Mockery (https://docs.mockery.io/)
*
* @copyright https://github.com/mockery/mockery/blob/HEAD/COPYRIGHT.md
* @license https://github.com/mockery/mockery/blob/HEAD/LICENSE BSD 3-Clause License
* @link https://github.com/mockery/mockery for the canonical source repository
*/
namespace Mockery;
use Closure;
/**
* @method Expectation withArgs(array|Closure $args)
*/
class HigherOrderMessage
{
/**
* @var string
*/
private $method;
/**
* @var LegacyMockInterface|MockInterface
*/
private $mock;
public function __construct(MockInterface $mock, $method)
{
$this->mock = $mock;
$this->method = $method;
}
/**
* @param string $method
* @param array $args
*
* @return Expectation|ExpectationInterface|HigherOrderMessage
*/
public function __call($method, $args)
{
if ($this->method === 'shouldNotHaveReceived') {
return $this->mock->{$this->method}($method, $args);
}
$expectation = $this->mock->{$this->method}($method);
return $expectation->withArgs($args);
}
}