init
This commit is contained in:
29
vendor/phpunit/phpunit-mock-objects/src/Matcher/AnyInvokedCount.php
vendored
Normal file
29
vendor/phpunit/phpunit-mock-objects/src/Matcher/AnyInvokedCount.php
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
/**
|
||||
* Invocation matcher which checks if a method has been invoked zero or more
|
||||
* times. This matcher will always match.
|
||||
*/
|
||||
class AnyInvokedCount extends InvokedRecorder
|
||||
{
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'invoked zero or more times';
|
||||
}
|
||||
|
||||
public function verify()
|
||||
{
|
||||
}
|
||||
}
|
||||
36
vendor/phpunit/phpunit-mock-objects/src/Matcher/AnyParameters.php
vendored
Normal file
36
vendor/phpunit/phpunit-mock-objects/src/Matcher/AnyParameters.php
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
|
||||
|
||||
/**
|
||||
* Invocation matcher which allows any parameters to a method.
|
||||
*/
|
||||
class AnyParameters extends StatelessInvocation
|
||||
{
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'with any parameters';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param BaseInvocation $invocation
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function matches(BaseInvocation $invocation)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
134
vendor/phpunit/phpunit-mock-objects/src/Matcher/ConsecutiveParameters.php
vendored
Normal file
134
vendor/phpunit/phpunit-mock-objects/src/Matcher/ConsecutiveParameters.php
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\Constraint\Constraint;
|
||||
use PHPUnit\Framework\Constraint\IsEqual;
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
|
||||
|
||||
/**
|
||||
* Invocation matcher which looks for sets of specific parameters in the invocations.
|
||||
*
|
||||
* Checks the parameters of the incoming invocations, the parameter list is
|
||||
* checked against the defined constraints in $parameters. If the constraint
|
||||
* is met it will return true in matches().
|
||||
*
|
||||
* It takes a list of match groups and and increases a call index after each invocation.
|
||||
* So the first invocation uses the first group of constraints, the second the next and so on.
|
||||
*/
|
||||
class ConsecutiveParameters extends StatelessInvocation
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $parameterGroups = [];
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $invocations = [];
|
||||
|
||||
/**
|
||||
* @param array $parameterGroups
|
||||
*
|
||||
* @throws \PHPUnit\Framework\Exception
|
||||
*/
|
||||
public function __construct(array $parameterGroups)
|
||||
{
|
||||
foreach ($parameterGroups as $index => $parameters) {
|
||||
foreach ($parameters as $parameter) {
|
||||
if (!$parameter instanceof Constraint) {
|
||||
$parameter = new IsEqual($parameter);
|
||||
}
|
||||
|
||||
$this->parameterGroups[$index][] = $parameter;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'with consecutive parameters';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param BaseInvocation $invocation
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
* @throws \PHPUnit\Framework\ExpectationFailedException
|
||||
*/
|
||||
public function matches(BaseInvocation $invocation)
|
||||
{
|
||||
$this->invocations[] = $invocation;
|
||||
$callIndex = \count($this->invocations) - 1;
|
||||
|
||||
$this->verifyInvocation($invocation, $callIndex);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function verify()
|
||||
{
|
||||
foreach ($this->invocations as $callIndex => $invocation) {
|
||||
$this->verifyInvocation($invocation, $callIndex);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify a single invocation
|
||||
*
|
||||
* @param BaseInvocation $invocation
|
||||
* @param int $callIndex
|
||||
*
|
||||
* @throws ExpectationFailedException
|
||||
*/
|
||||
private function verifyInvocation(BaseInvocation $invocation, $callIndex)
|
||||
{
|
||||
if (isset($this->parameterGroups[$callIndex])) {
|
||||
$parameters = $this->parameterGroups[$callIndex];
|
||||
} else {
|
||||
// no parameter assertion for this call index
|
||||
return;
|
||||
}
|
||||
|
||||
if ($invocation === null) {
|
||||
throw new ExpectationFailedException(
|
||||
'Mocked method does not exist.'
|
||||
);
|
||||
}
|
||||
|
||||
if (\count($invocation->getParameters()) < \count($parameters)) {
|
||||
throw new ExpectationFailedException(
|
||||
\sprintf(
|
||||
'Parameter count for invocation %s is too low.',
|
||||
$invocation->toString()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
foreach ($parameters as $i => $parameter) {
|
||||
$parameter->evaluate(
|
||||
$invocation->getParameters()[$i],
|
||||
\sprintf(
|
||||
'Parameter %s for invocation #%d %s does not match expected ' .
|
||||
'value.',
|
||||
$i,
|
||||
$callIndex,
|
||||
$invocation->toString()
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
49
vendor/phpunit/phpunit-mock-objects/src/Matcher/Invocation.php
vendored
Normal file
49
vendor/phpunit/phpunit-mock-objects/src/Matcher/Invocation.php
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
|
||||
use PHPUnit\Framework\MockObject\Verifiable;
|
||||
use PHPUnit\Framework\SelfDescribing;
|
||||
|
||||
/**
|
||||
* Interface for classes which matches an invocation based on its
|
||||
* method name, argument, order or call count.
|
||||
*/
|
||||
interface Invocation extends SelfDescribing, Verifiable
|
||||
{
|
||||
/**
|
||||
* Registers the invocation $invocation in the object as being invoked.
|
||||
* This will only occur after matches() returns true which means the
|
||||
* current invocation is the correct one.
|
||||
*
|
||||
* The matcher can store information from the invocation which can later
|
||||
* be checked in verify(), or it can check the values directly and throw
|
||||
* and exception if an expectation is not met.
|
||||
*
|
||||
* If the matcher is a stub it will also have a return value.
|
||||
*
|
||||
* @param BaseInvocation $invocation Object containing information on a mocked or stubbed method which was invoked
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function invoked(BaseInvocation $invocation);
|
||||
|
||||
/**
|
||||
* Checks if the invocation $invocation matches the current rules. If it does
|
||||
* the matcher will get the invoked() method called which should check if an
|
||||
* expectation is met.
|
||||
*
|
||||
* @param BaseInvocation $invocation Object containing information on a mocked or stubbed method which was invoked
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function matches(BaseInvocation $invocation);
|
||||
}
|
||||
89
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedAtIndex.php
vendored
Normal file
89
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedAtIndex.php
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
|
||||
|
||||
/**
|
||||
* Invocation matcher which checks if a method was invoked at a certain index.
|
||||
*
|
||||
* If the expected index number does not match the current invocation index it
|
||||
* will not match which means it skips all method and parameter matching. Only
|
||||
* once the index is reached will the method and parameter start matching and
|
||||
* verifying.
|
||||
*
|
||||
* If the index is never reached it will throw an exception in index.
|
||||
*/
|
||||
class InvokedAtIndex implements Invocation
|
||||
{
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $sequenceIndex;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $currentIndex = -1;
|
||||
|
||||
/**
|
||||
* @param int $sequenceIndex
|
||||
*/
|
||||
public function __construct($sequenceIndex)
|
||||
{
|
||||
$this->sequenceIndex = $sequenceIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'invoked at sequence index ' . $this->sequenceIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param BaseInvocation $invocation
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function matches(BaseInvocation $invocation)
|
||||
{
|
||||
$this->currentIndex++;
|
||||
|
||||
return $this->currentIndex == $this->sequenceIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param BaseInvocation $invocation
|
||||
*/
|
||||
public function invoked(BaseInvocation $invocation)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that the current expectation is valid. If everything is OK the
|
||||
* code should just return, if not it must throw an exception.
|
||||
*
|
||||
* @throws ExpectationFailedException
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
if ($this->currentIndex < $this->sequenceIndex) {
|
||||
throw new ExpectationFailedException(
|
||||
\sprintf(
|
||||
'The expected invocation at index %s was never reached.',
|
||||
$this->sequenceIndex
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
58
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedAtLeastCount.php
vendored
Normal file
58
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedAtLeastCount.php
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
|
||||
/**
|
||||
* Invocation matcher which checks if a method has been invoked at least
|
||||
* N times.
|
||||
*/
|
||||
class InvokedAtLeastCount extends InvokedRecorder
|
||||
{
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $requiredInvocations;
|
||||
|
||||
/**
|
||||
* @param int $requiredInvocations
|
||||
*/
|
||||
public function __construct($requiredInvocations)
|
||||
{
|
||||
$this->requiredInvocations = $requiredInvocations;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'invoked at least ' . $this->requiredInvocations . ' times';
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that the current expectation is valid. If everything is OK the
|
||||
* code should just return, if not it must throw an exception.
|
||||
*
|
||||
* @throws ExpectationFailedException
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
$count = $this->getInvocationCount();
|
||||
|
||||
if ($count < $this->requiredInvocations) {
|
||||
throw new ExpectationFailedException(
|
||||
'Expected invocation at least ' . $this->requiredInvocations .
|
||||
' times but it occurred ' . $count . ' time(s).'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
46
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedAtLeastOnce.php
vendored
Normal file
46
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedAtLeastOnce.php
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
|
||||
/**
|
||||
* Invocation matcher which checks if a method has been invoked at least one
|
||||
* time.
|
||||
*
|
||||
* If the number of invocations is 0 it will throw an exception in verify.
|
||||
*/
|
||||
class InvokedAtLeastOnce extends InvokedRecorder
|
||||
{
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'invoked at least once';
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that the current expectation is valid. If everything is OK the
|
||||
* code should just return, if not it must throw an exception.
|
||||
*
|
||||
* @throws ExpectationFailedException
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
$count = $this->getInvocationCount();
|
||||
|
||||
if ($count < 1) {
|
||||
throw new ExpectationFailedException(
|
||||
'Expected invocation at least once but it never occurred.'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
58
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedAtMostCount.php
vendored
Normal file
58
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedAtMostCount.php
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
|
||||
/**
|
||||
* Invocation matcher which checks if a method has been invoked at least
|
||||
* N times.
|
||||
*/
|
||||
class InvokedAtMostCount extends InvokedRecorder
|
||||
{
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $allowedInvocations;
|
||||
|
||||
/**
|
||||
* @param int $allowedInvocations
|
||||
*/
|
||||
public function __construct($allowedInvocations)
|
||||
{
|
||||
$this->allowedInvocations = $allowedInvocations;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'invoked at most ' . $this->allowedInvocations . ' times';
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that the current expectation is valid. If everything is OK the
|
||||
* code should just return, if not it must throw an exception.
|
||||
*
|
||||
* @throws ExpectationFailedException
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
$count = $this->getInvocationCount();
|
||||
|
||||
if ($count > $this->allowedInvocations) {
|
||||
throw new ExpectationFailedException(
|
||||
'Expected invocation at most ' . $this->allowedInvocations .
|
||||
' times but it occurred ' . $count . ' time(s).'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
111
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedCount.php
vendored
Normal file
111
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedCount.php
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
|
||||
|
||||
/**
|
||||
* Invocation matcher which checks if a method has been invoked a certain amount
|
||||
* of times.
|
||||
* If the number of invocations exceeds the value it will immediately throw an
|
||||
* exception,
|
||||
* If the number is less it will later be checked in verify() and also throw an
|
||||
* exception.
|
||||
*/
|
||||
class InvokedCount extends InvokedRecorder
|
||||
{
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $expectedCount;
|
||||
|
||||
/**
|
||||
* @param int $expectedCount
|
||||
*/
|
||||
public function __construct($expectedCount)
|
||||
{
|
||||
$this->expectedCount = $expectedCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function isNever()
|
||||
{
|
||||
return $this->expectedCount === 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'invoked ' . $this->expectedCount . ' time(s)';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param BaseInvocation $invocation
|
||||
*
|
||||
* @throws ExpectationFailedException
|
||||
*/
|
||||
public function invoked(BaseInvocation $invocation)
|
||||
{
|
||||
parent::invoked($invocation);
|
||||
|
||||
$count = $this->getInvocationCount();
|
||||
|
||||
if ($count > $this->expectedCount) {
|
||||
$message = $invocation->toString() . ' ';
|
||||
|
||||
switch ($this->expectedCount) {
|
||||
case 0:
|
||||
$message .= 'was not expected to be called.';
|
||||
|
||||
break;
|
||||
|
||||
case 1:
|
||||
$message .= 'was not expected to be called more than once.';
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
$message .= \sprintf(
|
||||
'was not expected to be called more than %d times.',
|
||||
$this->expectedCount
|
||||
);
|
||||
}
|
||||
|
||||
throw new ExpectationFailedException($message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that the current expectation is valid. If everything is OK the
|
||||
* code should just return, if not it must throw an exception.
|
||||
*
|
||||
* @throws ExpectationFailedException
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
$count = $this->getInvocationCount();
|
||||
|
||||
if ($count !== $this->expectedCount) {
|
||||
throw new ExpectationFailedException(
|
||||
\sprintf(
|
||||
'Method was expected to be called %d times, ' .
|
||||
'actually called %d times.',
|
||||
$this->expectedCount,
|
||||
$count
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
68
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedRecorder.php
vendored
Normal file
68
vendor/phpunit/phpunit-mock-objects/src/Matcher/InvokedRecorder.php
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
|
||||
|
||||
/**
|
||||
* Records invocations and provides convenience methods for checking them later
|
||||
* on.
|
||||
* This abstract class can be implemented by matchers which needs to check the
|
||||
* number of times an invocation has occurred.
|
||||
*/
|
||||
abstract class InvokedRecorder implements Invocation
|
||||
{
|
||||
/**
|
||||
* @var BaseInvocation[]
|
||||
*/
|
||||
private $invocations = [];
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getInvocationCount()
|
||||
{
|
||||
return \count($this->invocations);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return BaseInvocation[]
|
||||
*/
|
||||
public function getInvocations()
|
||||
{
|
||||
return $this->invocations;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function hasBeenInvoked()
|
||||
{
|
||||
return \count($this->invocations) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param BaseInvocation $invocation
|
||||
*/
|
||||
public function invoked(BaseInvocation $invocation)
|
||||
{
|
||||
$this->invocations[] = $invocation;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param BaseInvocation $invocation
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function matches(BaseInvocation $invocation)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
73
vendor/phpunit/phpunit-mock-objects/src/Matcher/MethodName.php
vendored
Normal file
73
vendor/phpunit/phpunit-mock-objects/src/Matcher/MethodName.php
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\Constraint\Constraint;
|
||||
use PHPUnit\Framework\Constraint\IsEqual;
|
||||
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
|
||||
use PHPUnit\Util\InvalidArgumentHelper;
|
||||
|
||||
/**
|
||||
* Invocation matcher which looks for a specific method name in the invocations.
|
||||
*
|
||||
* Checks the method name all incoming invocations, the name is checked against
|
||||
* the defined constraint $constraint. If the constraint is met it will return
|
||||
* true in matches().
|
||||
*/
|
||||
class MethodName extends StatelessInvocation
|
||||
{
|
||||
/**
|
||||
* @var Constraint
|
||||
*/
|
||||
private $constraint;
|
||||
|
||||
/**
|
||||
* @param Constraint|string
|
||||
*
|
||||
* @throws Constraint
|
||||
* @throws \PHPUnit\Framework\Exception
|
||||
*/
|
||||
public function __construct($constraint)
|
||||
{
|
||||
if (!$constraint instanceof Constraint) {
|
||||
if (!\is_string($constraint)) {
|
||||
throw InvalidArgumentHelper::factory(1, 'string');
|
||||
}
|
||||
|
||||
$constraint = new IsEqual(
|
||||
$constraint,
|
||||
0,
|
||||
10,
|
||||
false,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
$this->constraint = $constraint;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'method name ' . $this->constraint->toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param BaseInvocation $invocation
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function matches(BaseInvocation $invocation)
|
||||
{
|
||||
return $this->constraint->evaluate($invocation->getMethodName(), '', true);
|
||||
}
|
||||
}
|
||||
165
vendor/phpunit/phpunit-mock-objects/src/Matcher/Parameters.php
vendored
Normal file
165
vendor/phpunit/phpunit-mock-objects/src/Matcher/Parameters.php
vendored
Normal file
@@ -0,0 +1,165 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\Constraint\Constraint;
|
||||
use PHPUnit\Framework\Constraint\IsAnything;
|
||||
use PHPUnit\Framework\Constraint\IsEqual;
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
|
||||
|
||||
/**
|
||||
* Invocation matcher which looks for specific parameters in the invocations.
|
||||
*
|
||||
* Checks the parameters of all incoming invocations, the parameter list is
|
||||
* checked against the defined constraints in $parameters. If the constraint
|
||||
* is met it will return true in matches().
|
||||
*/
|
||||
class Parameters extends StatelessInvocation
|
||||
{
|
||||
/**
|
||||
* @var Constraint[]
|
||||
*/
|
||||
private $parameters = [];
|
||||
|
||||
/**
|
||||
* @var BaseInvocation
|
||||
*/
|
||||
private $invocation;
|
||||
|
||||
/**
|
||||
* @var ExpectationFailedException
|
||||
*/
|
||||
private $parameterVerificationResult;
|
||||
|
||||
/**
|
||||
* @param array $parameters
|
||||
*
|
||||
* @throws \PHPUnit\Framework\Exception
|
||||
*/
|
||||
public function __construct(array $parameters)
|
||||
{
|
||||
foreach ($parameters as $parameter) {
|
||||
if (!($parameter instanceof Constraint)) {
|
||||
$parameter = new IsEqual(
|
||||
$parameter
|
||||
);
|
||||
}
|
||||
|
||||
$this->parameters[] = $parameter;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
$text = 'with parameter';
|
||||
|
||||
foreach ($this->parameters as $index => $parameter) {
|
||||
if ($index > 0) {
|
||||
$text .= ' and';
|
||||
}
|
||||
|
||||
$text .= ' ' . $index . ' ' . $parameter->toString();
|
||||
}
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param BaseInvocation $invocation
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function matches(BaseInvocation $invocation)
|
||||
{
|
||||
$this->invocation = $invocation;
|
||||
$this->parameterVerificationResult = null;
|
||||
|
||||
try {
|
||||
$this->parameterVerificationResult = $this->verify();
|
||||
|
||||
return $this->parameterVerificationResult;
|
||||
} catch (ExpectationFailedException $e) {
|
||||
$this->parameterVerificationResult = $e;
|
||||
|
||||
throw $this->parameterVerificationResult;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the invocation $invocation matches the current rules. If it
|
||||
* does the matcher will get the invoked() method called which should check
|
||||
* if an expectation is met.
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
* @throws ExpectationFailedException
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
if (isset($this->parameterVerificationResult)) {
|
||||
return $this->guardAgainstDuplicateEvaluationOfParameterConstraints();
|
||||
}
|
||||
|
||||
if ($this->invocation === null) {
|
||||
throw new ExpectationFailedException('Mocked method does not exist.');
|
||||
}
|
||||
|
||||
if (\count($this->invocation->getParameters()) < \count($this->parameters)) {
|
||||
$message = 'Parameter count for invocation %s is too low.';
|
||||
|
||||
// The user called `->with($this->anything())`, but may have meant
|
||||
// `->withAnyParameters()`.
|
||||
//
|
||||
// @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/199
|
||||
if (\count($this->parameters) === 1 &&
|
||||
\get_class($this->parameters[0]) === IsAnything::class) {
|
||||
$message .= "\nTo allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead.";
|
||||
}
|
||||
|
||||
throw new ExpectationFailedException(
|
||||
\sprintf($message, $this->invocation->toString())
|
||||
);
|
||||
}
|
||||
|
||||
foreach ($this->parameters as $i => $parameter) {
|
||||
$parameter->evaluate(
|
||||
$this->invocation->getParameters()[$i],
|
||||
\sprintf(
|
||||
'Parameter %s for invocation %s does not match expected ' .
|
||||
'value.',
|
||||
$i,
|
||||
$this->invocation->toString()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*
|
||||
* @throws ExpectationFailedException
|
||||
*/
|
||||
private function guardAgainstDuplicateEvaluationOfParameterConstraints()
|
||||
{
|
||||
if ($this->parameterVerificationResult instanceof \Exception) {
|
||||
throw $this->parameterVerificationResult;
|
||||
}
|
||||
|
||||
return (bool) $this->parameterVerificationResult;
|
||||
}
|
||||
}
|
||||
54
vendor/phpunit/phpunit-mock-objects/src/Matcher/StatelessInvocation.php
vendored
Normal file
54
vendor/phpunit/phpunit-mock-objects/src/Matcher/StatelessInvocation.php
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the phpunit-mock-objects package.
|
||||
*
|
||||
* (c) Sebastian Bergmann <sebastian@phpunit.de>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
namespace PHPUnit\Framework\MockObject\Matcher;
|
||||
|
||||
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
|
||||
|
||||
/**
|
||||
* Invocation matcher which does not care about previous state from earlier
|
||||
* invocations.
|
||||
*
|
||||
* This abstract class can be implemented by matchers which does not care about
|
||||
* state but only the current run-time value of the invocation itself.
|
||||
*/
|
||||
abstract class StatelessInvocation implements Invocation
|
||||
{
|
||||
/**
|
||||
* Registers the invocation $invocation in the object as being invoked.
|
||||
* This will only occur after matches() returns true which means the
|
||||
* current invocation is the correct one.
|
||||
*
|
||||
* The matcher can store information from the invocation which can later
|
||||
* be checked in verify(), or it can check the values directly and throw
|
||||
* and exception if an expectation is not met.
|
||||
*
|
||||
* If the matcher is a stub it will also have a return value.
|
||||
*
|
||||
* @param BaseInvocation $invocation Object containing information on a mocked or stubbed method which was invoked
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function invoked(BaseInvocation $invocation)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the invocation $invocation matches the current rules. If it does
|
||||
* the matcher will get the invoked() method called which should check if an
|
||||
* expectation is met.
|
||||
*
|
||||
* @param Invocation $invocation Object containing information on a mocked or stubbed method which was invoked
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user