%PDF- %PDF-
Direktori : /var/www/html/rental/vendor/phpspec/phpspec/src/PhpSpec/Matcher/ |
Current File : /var/www/html/rental/vendor/phpspec/phpspec/src/PhpSpec/Matcher/StringEndMatcher.php |
<?php /* * This file is part of PhpSpec, A php toolset to drive emergent * design by specification. * * (c) Marcello Duarte <marcello.duarte@gmail.com> * (c) Konstantin Kudryashov <ever.zet@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace PhpSpec\Matcher; use PhpSpec\Formatter\Presenter\PresenterInterface; use PhpSpec\Exception\Example\FailureException; class StringEndMatcher extends BasicMatcher { /** * @var PresenterInterface */ private $presenter; /** * @param PresenterInterface $presenter */ public function __construct(PresenterInterface $presenter) { $this->presenter = $presenter; } /** * @param string $name * @param mixed $subject * @param array $arguments * * @return bool */ public function supports($name, $subject, array $arguments) { return 'endWith' === $name && is_string($subject) && 1 == count($arguments) ; } /** * @param mixed $subject * @param array $arguments * * @return bool */ protected function matches($subject, array $arguments) { return $arguments[0] === substr($subject, 0 - strlen($arguments[0])); } /** * @param string $name * @param mixed $subject * @param array $arguments * * @return FailureException */ protected function getFailureException($name, $subject, array $arguments) { return new FailureException(sprintf( 'Expected %s to end with %s, but it does not.', $this->presenter->presentString($subject), $this->presenter->presentString($arguments[0]) )); } /** * @param string $name * @param mixed $subject * @param array $arguments * * @return FailureException */ protected function getNegativeFailureException($name, $subject, array $arguments) { return new FailureException(sprintf( 'Expected %s not to end with %s, but it does.', $this->presenter->presentString($subject), $this->presenter->presentString($arguments[0]) )); } }