<?php/*
* This file is part of PHPUnit.
*
* (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.
*/namespacePHPUnit\Framework\Constraint;
/**
* Constraint that evaluates against a specified closure.
*/classCallbackextendsConstraint{
/**
* @var callable
*/private$callback;
publicfunction__construct(callable$callback)
{
parent::__construct();
$this->callback = $callback;
}
/**
* Returns a string representation of the constraint.
*/publicfunctiontoString(): string{
return'is accepted by specified callback';
}
/**
* Evaluates the constraint for parameter $value. Returns true if the
* constraint is met, false otherwise.
*
* @param mixed $other value or object to evaluate
*/protectedfunctionmatches($other): bool{
return \call_user_func($this->callback, $other);
}
}