File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core
Upload
[..]
DescribedAs.php (1.81 KB)
Edit
Rename
Del
Every.php (1.31 KB)
Edit
Rename
Del
IsCollectionContaining.php (2.11 KB)
Edit
Rename
Del
IsEqual.php (835 B)
Edit
Rename
Del
IsTypeOf.php (1.64 KB)
Edit
Rename
Del
Edit: DescribedAs.php
<?php namespace Hamcrest\Core; /* Copyright (c) 2009 hamcrest.org */ use Hamcrest\BaseMatcher; use Hamcrest\Description; use Hamcrest\Matcher; /** * Provides a custom description to another matcher. */ class DescribedAs extends BaseMatcher { private $_descriptionTemplate; private $_matcher; private $_values; const ARG_PATTERN = '/%([0-9]+)/'; public function __construct($descriptionTemplate, Matcher $matcher, array $values) { $this->_descriptionTemplate = $descriptionTemplate; $this->_matcher = $matcher; $this->_values = $values; } public function matches($item) { return $this->_matcher->matches($item); } public function describeTo(Description $description) { $textStart = 0; while (preg_match(self::ARG_PATTERN, $this->_descriptionTemplate, $matches, PREG_OFFSET_CAPTURE, $textStart)) { $text = $matches[0][0]; $index = $matches[1][0]; $offset = $matches[0][1]; $description->appendText(substr($this->_descriptionTemplate, $textStart, $offset - $textStart)); $description->appendValue($this->_values[$index]); $textStart = $offset + strlen($text); } if ($textStart < strlen($this->_descriptionTemplate)) { $description->appendText(substr($this->_descriptionTemplate, $textStart)); } } /** * Wraps an existing matcher and overrides the description when it fails. * * @factory ... */ public static function describedAs(/* $description, Hamcrest\Matcher $matcher, $values... */) { $args = func_get_args(); $description = array_shift($args); $matcher = array_shift($args); $values = $args; return new self($description, $matcher, $values); } }
Simpan