Server : Apache System : Linux host44.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 User : vapecompany ( 2719) PHP Version : 7.4.33 Disable Function : NONE Directory : /home/vapecompany/demo.vapecompany.com.bd/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/ |
Upload File : |
<?php namespace Hamcrest\Arrays; /* Copyright (c) 2009 hamcrest.org */ use Hamcrest\Description; use Hamcrest\Matcher; use Hamcrest\TypeSafeMatcher; use Hamcrest\Util; /** * Matches if an array contains the specified key. */ class IsArrayContainingKey extends TypeSafeMatcher { private $_keyMatcher; public function __construct(Matcher $keyMatcher) { parent::__construct(self::TYPE_ARRAY); $this->_keyMatcher = $keyMatcher; } protected function matchesSafely($array) { foreach ($array as $key => $element) { if ($this->_keyMatcher->matches($key)) { return true; } } return false; } protected function describeMismatchSafely($array, Description $mismatchDescription) { //Not using appendValueList() so that keys can be shown $mismatchDescription->appendText('array was ') ->appendText('[') ; $loop = false; foreach ($array as $key => $value) { if ($loop) { $mismatchDescription->appendText(', '); } $mismatchDescription->appendValue($key)->appendText(' => ')->appendValue($value); $loop = true; } $mismatchDescription->appendText(']'); } public function describeTo(Description $description) { $description ->appendText('array with key ') ->appendDescriptionOf($this->_keyMatcher) ; } /** * Evaluates to true if any key in an array matches the given matcher. * * @param mixed $key as a {@link Hamcrest\Matcher} or a value. * * @return \Hamcrest\Arrays\IsArrayContainingKey * @factory hasKey */ public static function hasKeyInArray($key) { return new self(Util::wrapValueWithIsEqual($key)); } }