diff options
Diffstat (limited to 'vendor/phpspec/prophecy/src/Prophecy/Argument/Token/InArrayToken.php')
-rw-r--r-- | vendor/phpspec/prophecy/src/Prophecy/Argument/Token/InArrayToken.php | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/InArrayToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/InArrayToken.php new file mode 100644 index 000000000..f727aea42 --- /dev/null +++ b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/InArrayToken.php @@ -0,0 +1,74 @@ +<?php + +/* + * This file is part of the Prophecy. + * (c) Konstantin Kudryashov <[email protected]> + * Marcello Duarte <[email protected]> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Prophecy\Argument\Token; + +/** + * Check if values is in array + * + * @author VinÃcius Alonso <[email protected]> + */ +class InArrayToken implements TokenInterface +{ + private $token = array(); + private $strict; + + /** + * @param array $arguments tokens + * @param bool $strict + */ + public function __construct(array $arguments, $strict = true) + { + $this->token = $arguments; + $this->strict = $strict; + } + + /** + * Return scores 8 score if argument is in array. + * + * @param $argument + * + * @return bool|int + */ + public function scoreArgument($argument) + { + if (count($this->token) === 0) { + return false; + } + + if (\in_array($argument, $this->token, $this->strict)) { + return 8; + } + + return false; + } + + /** + * Returns false. + * + * @return boolean + */ + public function isLast() + { + return false; + } + + /** + * Returns string representation for token. + * + * @return string + */ + public function __toString() + { + $arrayAsString = implode(', ', $this->token); + return "[{$arrayAsString}]"; + } +} |