Mercurial > hg > isophonics-drupal-site
diff vendor/webmozart/assert/src/Assert.php @ 12:7a779792577d
Update Drupal core to v8.4.5 (via Composer)
author | Chris Cannam |
---|---|
date | Fri, 23 Feb 2018 15:52:07 +0000 |
parents | 4c8ae668cc8c |
children | 129ea1e6d783 |
line wrap: on
line diff
--- a/vendor/webmozart/assert/src/Assert.php Fri Feb 23 15:51:18 2018 +0000 +++ b/vendor/webmozart/assert/src/Assert.php Fri Feb 23 15:52:07 2018 +0000 @@ -11,12 +11,14 @@ namespace Webmozart\Assert; +use ArrayAccess; use BadMethodCallException; +use Closure; +use Countable; +use Exception; use InvalidArgumentException; +use Throwable; use Traversable; -use Exception; -use Throwable; -use Closure; /** * Efficient assertions to validate the input/output of your methods. @@ -34,8 +36,11 @@ * @method static void nullOrIsCallable($value, $message = '') * @method static void nullOrIsArray($value, $message = '') * @method static void nullOrIsTraversable($value, $message = '') + * @method static void nullOrIsArrayAccessible($value, $message = '') + * @method static void nullOrIsCountable($value, $message = '') * @method static void nullOrIsInstanceOf($value, $class, $message = '') * @method static void nullOrNotInstanceOf($value, $class, $message = '') + * @method static void nullOrIsInstanceOfAny($value, $classes, $message = '') * @method static void nullOrIsEmpty($value, $message = '') * @method static void nullOrNotEmpty($value, $message = '') * @method static void nullOrTrue($value, $message = '') @@ -51,6 +56,8 @@ * @method static void nullOrRange($value, $min, $max, $message = '') * @method static void nullOrOneOf($value, $values, $message = '') * @method static void nullOrContains($value, $subString, $message = '') + * @method static void nullOrNotContains($value, $subString, $message = '') + * @method static void nullOrNotWhitespaceOnly($value, $message = '') * @method static void nullOrStartsWith($value, $prefix, $message = '') * @method static void nullOrStartsWithLetter($value, $message = '') * @method static void nullOrEndsWith($value, $suffix, $message = '') @@ -79,6 +86,9 @@ * @method static void nullOrKeyExists($value, $key, $message = '') * @method static void nullOrKeyNotExists($value, $key, $message = '') * @method static void nullOrCount($value, $key, $message = '') + * @method static void nullOrMinCount($value, $min, $message = '') + * @method static void nullOrMaxCount($value, $max, $message = '') + * @method static void nullCountBetween($value, $min, $max, $message = '') * @method static void nullOrUuid($values, $message = '') * @method static void allString($values, $message = '') * @method static void allStringNotEmpty($values, $message = '') @@ -93,8 +103,11 @@ * @method static void allIsCallable($values, $message = '') * @method static void allIsArray($values, $message = '') * @method static void allIsTraversable($values, $message = '') + * @method static void allIsArrayAccessible($values, $message = '') + * @method static void allIsCountable($values, $message = '') * @method static void allIsInstanceOf($values, $class, $message = '') * @method static void allNotInstanceOf($values, $class, $message = '') + * @method static void allIsInstanceOfAny($values, $classes, $message = '') * @method static void allNull($values, $message = '') * @method static void allNotNull($values, $message = '') * @method static void allIsEmpty($values, $message = '') @@ -112,6 +125,8 @@ * @method static void allRange($values, $min, $max, $message = '') * @method static void allOneOf($values, $values, $message = '') * @method static void allContains($values, $subString, $message = '') + * @method static void allNotContains($values, $subString, $message = '') + * @method static void allNotWhitespaceOnly($values, $message = '') * @method static void allStartsWith($values, $prefix, $message = '') * @method static void allStartsWithLetter($values, $message = '') * @method static void allEndsWith($values, $suffix, $message = '') @@ -140,6 +155,9 @@ * @method static void allKeyExists($values, $key, $message = '') * @method static void allKeyNotExists($values, $key, $message = '') * @method static void allCount($values, $key, $message = '') + * @method static void allMinCount($values, $min, $message = '') + * @method static void allMaxCount($values, $max, $message = '') + * @method static void allCountBetween($values, $min, $max, $message = '') * @method static void allUuid($values, $message = '') * * @since 1.0 @@ -161,7 +179,7 @@ public static function stringNotEmpty($value, $message = '') { static::string($value, $message); - static::notEmpty($value, $message); + static::notEq($value, '', $message); } public static function integer($value, $message = '') @@ -204,6 +222,16 @@ } } + public static function natural($value, $message = '') + { + if (!is_int($value) || $value < 0) { + static::reportInvalidArgument(sprintf( + $message ?: 'Expected a non-negative integer. Got %s', + static::valueToString($value) + )); + } + } + public static function boolean($value, $message = '') { if (!is_bool($value)) { @@ -274,6 +302,14 @@ public static function isTraversable($value, $message = '') { + @trigger_error( + sprintf( + 'The "%s" assertion is deprecated. You should stop using it, as it will soon be removed in 2.0 version. Use "isIterable" or "isInstanceOf" instead.', + __METHOD__ + ), + E_USER_DEPRECATED + ); + if (!is_array($value) && !($value instanceof Traversable)) { static::reportInvalidArgument(sprintf( $message ?: 'Expected a traversable. Got: %s', @@ -282,6 +318,36 @@ } } + public static function isArrayAccessible($value, $message = '') + { + if (!is_array($value) && !($value instanceof ArrayAccess)) { + static::reportInvalidArgument(sprintf( + $message ?: 'Expected an array accessible. Got: %s', + static::typeToString($value) + )); + } + } + + public static function isCountable($value, $message = '') + { + if (!is_array($value) && !($value instanceof Countable)) { + static::reportInvalidArgument(sprintf( + $message ?: 'Expected a countable. Got: %s', + static::typeToString($value) + )); + } + } + + public static function isIterable($value, $message = '') + { + if (!is_array($value) && !($value instanceof Traversable)) { + static::reportInvalidArgument(sprintf( + $message ?: 'Expected an iterable. Got: %s', + static::typeToString($value) + )); + } + } + public static function isInstanceOf($value, $class, $message = '') { if (!($value instanceof $class)) { @@ -304,6 +370,21 @@ } } + public static function isInstanceOfAny($value, array $classes, $message = '') + { + foreach ($classes as $class) { + if ($value instanceof $class) { + return; + } + } + + static::reportInvalidArgument(sprintf( + $message ?: 'Expected an instance of any of %2$s. Got: %s', + static::typeToString($value), + implode(', ', array_map(array('static', 'valueToString'), $classes)) + )); + } + public static function isEmpty($value, $message = '') { if (!empty($value)) { @@ -483,6 +564,27 @@ } } + public static function notContains($value, $subString, $message = '') + { + if (false !== strpos($value, $subString)) { + static::reportInvalidArgument(sprintf( + $message ?: '%2$s was not expected to be contained in a value. Got: %s', + static::valueToString($value), + static::valueToString($subString) + )); + } + } + + public static function notWhitespaceOnly($value, $message = '') + { + if (preg_match('/^\s*$/', $value)) { + static::reportInvalidArgument(sprintf( + $message ?: 'Expected a non-whitespace string. Got: %s', + static::valueToString($value) + )); + } + } + public static function startsWith($value, $prefix, $message = '') { if (0 !== strpos($value, $prefix)) { @@ -813,6 +915,42 @@ ); } + public static function minCount($array, $min, $message = '') + { + if (count($array) < $min) { + static::reportInvalidArgument(sprintf( + $message ?: 'Expected an array to contain at least %2$d elements. Got: %d', + count($array), + $min + )); + } + } + + public static function maxCount($array, $max, $message = '') + { + if (count($array) > $max) { + static::reportInvalidArgument(sprintf( + $message ?: 'Expected an array to contain at most %2$d elements. Got: %d', + count($array), + $max + )); + } + } + + public static function countBetween($array, $min, $max, $message = '') + { + $count = count($array); + + if ($count < $min || $count > $max) { + static::reportInvalidArgument(sprintf( + $message ?: 'Expected an array to contain between %2$d and %3$d elements. Got: %d', + $count, + $min, + $max + )); + } + } + public static function uuid($value, $message = '') { $value = str_replace(array('urn:', 'uuid:', '{', '}'), '', $value); @@ -836,6 +974,7 @@ static::string($class); $actual = 'none'; + try { $expression(); } catch (Exception $e) { @@ -869,7 +1008,7 @@ } if ('all' === substr($name, 0, 3)) { - static::isTraversable($arguments[0]); + static::isIterable($arguments[0]); $method = lcfirst(substr($name, 3)); $args = $arguments;