comparison vendor/webmozart/assert/src/Assert.php @ 17:129ea1e6d783

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:21:36 +0000
parents 7a779792577d
children
comparison
equal deleted inserted replaced
16:c2387f117808 17:129ea1e6d783
27 * @method static void nullOrStringNotEmpty($value, $message = '') 27 * @method static void nullOrStringNotEmpty($value, $message = '')
28 * @method static void nullOrInteger($value, $message = '') 28 * @method static void nullOrInteger($value, $message = '')
29 * @method static void nullOrIntegerish($value, $message = '') 29 * @method static void nullOrIntegerish($value, $message = '')
30 * @method static void nullOrFloat($value, $message = '') 30 * @method static void nullOrFloat($value, $message = '')
31 * @method static void nullOrNumeric($value, $message = '') 31 * @method static void nullOrNumeric($value, $message = '')
32 * @method static void nullOrNatural($value, $message = '')
32 * @method static void nullOrBoolean($value, $message = '') 33 * @method static void nullOrBoolean($value, $message = '')
33 * @method static void nullOrScalar($value, $message = '') 34 * @method static void nullOrScalar($value, $message = '')
34 * @method static void nullOrObject($value, $message = '') 35 * @method static void nullOrObject($value, $message = '')
35 * @method static void nullOrResource($value, $type = null, $message = '') 36 * @method static void nullOrResource($value, $type = null, $message = '')
36 * @method static void nullOrIsCallable($value, $message = '') 37 * @method static void nullOrIsCallable($value, $message = '')
37 * @method static void nullOrIsArray($value, $message = '') 38 * @method static void nullOrIsArray($value, $message = '')
38 * @method static void nullOrIsTraversable($value, $message = '') 39 * @method static void nullOrIsTraversable($value, $message = '')
39 * @method static void nullOrIsArrayAccessible($value, $message = '') 40 * @method static void nullOrIsArrayAccessible($value, $message = '')
40 * @method static void nullOrIsCountable($value, $message = '') 41 * @method static void nullOrIsCountable($value, $message = '')
42 * @method static void nullOrIsIterable($value, $message = '')
41 * @method static void nullOrIsInstanceOf($value, $class, $message = '') 43 * @method static void nullOrIsInstanceOf($value, $class, $message = '')
42 * @method static void nullOrNotInstanceOf($value, $class, $message = '') 44 * @method static void nullOrNotInstanceOf($value, $class, $message = '')
43 * @method static void nullOrIsInstanceOfAny($value, $classes, $message = '') 45 * @method static void nullOrIsInstanceOfAny($value, $classes, $message = '')
44 * @method static void nullOrIsEmpty($value, $message = '') 46 * @method static void nullOrIsEmpty($value, $message = '')
45 * @method static void nullOrNotEmpty($value, $message = '') 47 * @method static void nullOrNotEmpty($value, $message = '')
46 * @method static void nullOrTrue($value, $message = '') 48 * @method static void nullOrTrue($value, $message = '')
47 * @method static void nullOrFalse($value, $message = '') 49 * @method static void nullOrFalse($value, $message = '')
50 * @method static void nullOrIp($value, $message = '')
51 * @method static void nullOrIpv4($value, $message = '')
52 * @method static void nullOrIpv6($value, $message = '')
48 * @method static void nullOrEq($value, $value2, $message = '') 53 * @method static void nullOrEq($value, $value2, $message = '')
49 * @method static void nullOrNotEq($value,$value2, $message = '') 54 * @method static void nullOrNotEq($value,$value2, $message = '')
50 * @method static void nullOrSame($value, $value2, $message = '') 55 * @method static void nullOrSame($value, $value2, $message = '')
51 * @method static void nullOrNotSame($value, $value2, $message = '') 56 * @method static void nullOrNotSame($value, $value2, $message = '')
52 * @method static void nullOrGreaterThan($value, $value2, $message = '') 57 * @method static void nullOrGreaterThan($value, $value2, $message = '')
60 * @method static void nullOrNotWhitespaceOnly($value, $message = '') 65 * @method static void nullOrNotWhitespaceOnly($value, $message = '')
61 * @method static void nullOrStartsWith($value, $prefix, $message = '') 66 * @method static void nullOrStartsWith($value, $prefix, $message = '')
62 * @method static void nullOrStartsWithLetter($value, $message = '') 67 * @method static void nullOrStartsWithLetter($value, $message = '')
63 * @method static void nullOrEndsWith($value, $suffix, $message = '') 68 * @method static void nullOrEndsWith($value, $suffix, $message = '')
64 * @method static void nullOrRegex($value, $pattern, $message = '') 69 * @method static void nullOrRegex($value, $pattern, $message = '')
70 * @method static void nullOrNotRegex($value, $pattern, $message = '')
65 * @method static void nullOrAlpha($value, $message = '') 71 * @method static void nullOrAlpha($value, $message = '')
66 * @method static void nullOrDigits($value, $message = '') 72 * @method static void nullOrDigits($value, $message = '')
67 * @method static void nullOrAlnum($value, $message = '') 73 * @method static void nullOrAlnum($value, $message = '')
68 * @method static void nullOrLower($value, $message = '') 74 * @method static void nullOrLower($value, $message = '')
69 * @method static void nullOrUpper($value, $message = '') 75 * @method static void nullOrUpper($value, $message = '')
76 * @method static void nullOrDirectory($value, $message = '') 82 * @method static void nullOrDirectory($value, $message = '')
77 * @method static void nullOrReadable($value, $message = '') 83 * @method static void nullOrReadable($value, $message = '')
78 * @method static void nullOrWritable($value, $message = '') 84 * @method static void nullOrWritable($value, $message = '')
79 * @method static void nullOrClassExists($value, $message = '') 85 * @method static void nullOrClassExists($value, $message = '')
80 * @method static void nullOrSubclassOf($value, $class, $message = '') 86 * @method static void nullOrSubclassOf($value, $class, $message = '')
87 * @method static void nullOrInterfaceExists($value, $message = '')
81 * @method static void nullOrImplementsInterface($value, $interface, $message = '') 88 * @method static void nullOrImplementsInterface($value, $interface, $message = '')
82 * @method static void nullOrPropertyExists($value, $property, $message = '') 89 * @method static void nullOrPropertyExists($value, $property, $message = '')
83 * @method static void nullOrPropertyNotExists($value, $property, $message = '') 90 * @method static void nullOrPropertyNotExists($value, $property, $message = '')
84 * @method static void nullOrMethodExists($value, $method, $message = '') 91 * @method static void nullOrMethodExists($value, $method, $message = '')
85 * @method static void nullOrMethodNotExists($value, $method, $message = '') 92 * @method static void nullOrMethodNotExists($value, $method, $message = '')
86 * @method static void nullOrKeyExists($value, $key, $message = '') 93 * @method static void nullOrKeyExists($value, $key, $message = '')
87 * @method static void nullOrKeyNotExists($value, $key, $message = '') 94 * @method static void nullOrKeyNotExists($value, $key, $message = '')
88 * @method static void nullOrCount($value, $key, $message = '') 95 * @method static void nullOrCount($value, $key, $message = '')
89 * @method static void nullOrMinCount($value, $min, $message = '') 96 * @method static void nullOrMinCount($value, $min, $message = '')
90 * @method static void nullOrMaxCount($value, $max, $message = '') 97 * @method static void nullOrMaxCount($value, $max, $message = '')
91 * @method static void nullCountBetween($value, $min, $max, $message = '') 98 * @method static void nullOrIsList($value, $message = '')
99 * @method static void nullOrIsMap($value, $message = '')
100 * @method static void nullOrCountBetween($value, $min, $max, $message = '')
92 * @method static void nullOrUuid($values, $message = '') 101 * @method static void nullOrUuid($values, $message = '')
102 * @method static void nullOrThrows($expression, $class = 'Exception', $message = '')
93 * @method static void allString($values, $message = '') 103 * @method static void allString($values, $message = '')
94 * @method static void allStringNotEmpty($values, $message = '') 104 * @method static void allStringNotEmpty($values, $message = '')
95 * @method static void allInteger($values, $message = '') 105 * @method static void allInteger($values, $message = '')
96 * @method static void allIntegerish($values, $message = '') 106 * @method static void allIntegerish($values, $message = '')
97 * @method static void allFloat($values, $message = '') 107 * @method static void allFloat($values, $message = '')
98 * @method static void allNumeric($values, $message = '') 108 * @method static void allNumeric($values, $message = '')
109 * @method static void allNatural($values, $message = '')
99 * @method static void allBoolean($values, $message = '') 110 * @method static void allBoolean($values, $message = '')
100 * @method static void allScalar($values, $message = '') 111 * @method static void allScalar($values, $message = '')
101 * @method static void allObject($values, $message = '') 112 * @method static void allObject($values, $message = '')
102 * @method static void allResource($values, $type = null, $message = '') 113 * @method static void allResource($values, $type = null, $message = '')
103 * @method static void allIsCallable($values, $message = '') 114 * @method static void allIsCallable($values, $message = '')
104 * @method static void allIsArray($values, $message = '') 115 * @method static void allIsArray($values, $message = '')
105 * @method static void allIsTraversable($values, $message = '') 116 * @method static void allIsTraversable($values, $message = '')
106 * @method static void allIsArrayAccessible($values, $message = '') 117 * @method static void allIsArrayAccessible($values, $message = '')
107 * @method static void allIsCountable($values, $message = '') 118 * @method static void allIsCountable($values, $message = '')
119 * @method static void allIsIterable($values, $message = '')
108 * @method static void allIsInstanceOf($values, $class, $message = '') 120 * @method static void allIsInstanceOf($values, $class, $message = '')
109 * @method static void allNotInstanceOf($values, $class, $message = '') 121 * @method static void allNotInstanceOf($values, $class, $message = '')
110 * @method static void allIsInstanceOfAny($values, $classes, $message = '') 122 * @method static void allIsInstanceOfAny($values, $classes, $message = '')
111 * @method static void allNull($values, $message = '') 123 * @method static void allNull($values, $message = '')
112 * @method static void allNotNull($values, $message = '') 124 * @method static void allNotNull($values, $message = '')
113 * @method static void allIsEmpty($values, $message = '') 125 * @method static void allIsEmpty($values, $message = '')
114 * @method static void allNotEmpty($values, $message = '') 126 * @method static void allNotEmpty($values, $message = '')
115 * @method static void allTrue($values, $message = '') 127 * @method static void allTrue($values, $message = '')
116 * @method static void allFalse($values, $message = '') 128 * @method static void allFalse($values, $message = '')
129 * @method static void allIp($values, $message = '')
130 * @method static void allIpv4($values, $message = '')
131 * @method static void allIpv6($values, $message = '')
117 * @method static void allEq($values, $value2, $message = '') 132 * @method static void allEq($values, $value2, $message = '')
118 * @method static void allNotEq($values,$value2, $message = '') 133 * @method static void allNotEq($values,$value2, $message = '')
119 * @method static void allSame($values, $value2, $message = '') 134 * @method static void allSame($values, $value2, $message = '')
120 * @method static void allNotSame($values, $value2, $message = '') 135 * @method static void allNotSame($values, $value2, $message = '')
121 * @method static void allGreaterThan($values, $value2, $message = '') 136 * @method static void allGreaterThan($values, $value2, $message = '')
129 * @method static void allNotWhitespaceOnly($values, $message = '') 144 * @method static void allNotWhitespaceOnly($values, $message = '')
130 * @method static void allStartsWith($values, $prefix, $message = '') 145 * @method static void allStartsWith($values, $prefix, $message = '')
131 * @method static void allStartsWithLetter($values, $message = '') 146 * @method static void allStartsWithLetter($values, $message = '')
132 * @method static void allEndsWith($values, $suffix, $message = '') 147 * @method static void allEndsWith($values, $suffix, $message = '')
133 * @method static void allRegex($values, $pattern, $message = '') 148 * @method static void allRegex($values, $pattern, $message = '')
149 * @method static void allNotRegex($values, $pattern, $message = '')
134 * @method static void allAlpha($values, $message = '') 150 * @method static void allAlpha($values, $message = '')
135 * @method static void allDigits($values, $message = '') 151 * @method static void allDigits($values, $message = '')
136 * @method static void allAlnum($values, $message = '') 152 * @method static void allAlnum($values, $message = '')
137 * @method static void allLower($values, $message = '') 153 * @method static void allLower($values, $message = '')
138 * @method static void allUpper($values, $message = '') 154 * @method static void allUpper($values, $message = '')
145 * @method static void allDirectory($values, $message = '') 161 * @method static void allDirectory($values, $message = '')
146 * @method static void allReadable($values, $message = '') 162 * @method static void allReadable($values, $message = '')
147 * @method static void allWritable($values, $message = '') 163 * @method static void allWritable($values, $message = '')
148 * @method static void allClassExists($values, $message = '') 164 * @method static void allClassExists($values, $message = '')
149 * @method static void allSubclassOf($values, $class, $message = '') 165 * @method static void allSubclassOf($values, $class, $message = '')
166 * @method static void allInterfaceExists($values, $message = '')
150 * @method static void allImplementsInterface($values, $interface, $message = '') 167 * @method static void allImplementsInterface($values, $interface, $message = '')
151 * @method static void allPropertyExists($values, $property, $message = '') 168 * @method static void allPropertyExists($values, $property, $message = '')
152 * @method static void allPropertyNotExists($values, $property, $message = '') 169 * @method static void allPropertyNotExists($values, $property, $message = '')
153 * @method static void allMethodExists($values, $method, $message = '') 170 * @method static void allMethodExists($values, $method, $message = '')
154 * @method static void allMethodNotExists($values, $method, $message = '') 171 * @method static void allMethodNotExists($values, $method, $message = '')
156 * @method static void allKeyNotExists($values, $key, $message = '') 173 * @method static void allKeyNotExists($values, $key, $message = '')
157 * @method static void allCount($values, $key, $message = '') 174 * @method static void allCount($values, $key, $message = '')
158 * @method static void allMinCount($values, $min, $message = '') 175 * @method static void allMinCount($values, $min, $message = '')
159 * @method static void allMaxCount($values, $max, $message = '') 176 * @method static void allMaxCount($values, $max, $message = '')
160 * @method static void allCountBetween($values, $min, $max, $message = '') 177 * @method static void allCountBetween($values, $min, $max, $message = '')
178 * @method static void allIsList($values, $message = '')
179 * @method static void allIsMap($values, $message = '')
161 * @method static void allUuid($values, $message = '') 180 * @method static void allUuid($values, $message = '')
181 * @method static void allThrows($expressions, $class = 'Exception', $message = '')
162 * 182 *
163 * @since 1.0 183 * @since 1.0
164 * 184 *
165 * @author Bernhard Schussek <bschussek@gmail.com> 185 * @author Bernhard Schussek <bschussek@gmail.com>
166 */ 186 */
442 static::valueToString($value) 462 static::valueToString($value)
443 )); 463 ));
444 } 464 }
445 } 465 }
446 466
467 public static function ip($value, $message = '')
468 {
469 if (false === filter_var($value, FILTER_VALIDATE_IP)) {
470 static::reportInvalidArgument(sprintf(
471 $message ?: 'Expected a value to be an IP. Got: %s',
472 static::valueToString($value)
473 ));
474 }
475 }
476
477 public static function ipv4($value, $message = '')
478 {
479 if (false === filter_var($value, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
480 static::reportInvalidArgument(sprintf(
481 $message ?: 'Expected a value to be an IPv4. Got: %s',
482 static::valueToString($value)
483 ));
484 }
485 }
486
487 public static function ipv6($value, $message = '')
488 {
489 if (false === filter_var($value, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
490 static::reportInvalidArgument(sprintf(
491 $message ?: 'Expected a value to be an IPv6. Got %s',
492 static::valueToString($value)
493 ));
494 }
495 }
496
447 public static function eq($value, $value2, $message = '') 497 public static function eq($value, $value2, $message = '')
448 { 498 {
449 if ($value2 != $value) { 499 if ($value2 != $value) {
450 static::reportInvalidArgument(sprintf( 500 static::reportInvalidArgument(sprintf(
451 $message ?: 'Expected a value equal to %2$s. Got: %s', 501 $message ?: 'Expected a value equal to %2$s. Got: %s',
634 static::valueToString($value) 684 static::valueToString($value)
635 )); 685 ));
636 } 686 }
637 } 687 }
638 688
689 public static function notRegex($value, $pattern, $message = '')
690 {
691 if (preg_match($pattern, $value, $matches, PREG_OFFSET_CAPTURE)) {
692 static::reportInvalidArgument(sprintf(
693 $message ?: 'The value %s matches the pattern %s (at offset %d).',
694 static::valueToString($value),
695 static::valueToString($pattern),
696 $matches[0][1]
697 ));
698 }
699 }
700
639 public static function alpha($value, $message = '') 701 public static function alpha($value, $message = '')
640 { 702 {
641 $locale = setlocale(LC_CTYPE, 0); 703 $locale = setlocale(LC_CTYPE, 0);
642 setlocale(LC_CTYPE, 'C'); 704 setlocale(LC_CTYPE, 'C');
643 $valid = !ctype_alpha($value); 705 $valid = !ctype_alpha($value);
833 static::valueToString($class) 895 static::valueToString($class)
834 )); 896 ));
835 } 897 }
836 } 898 }
837 899
900 public static function interfaceExists($value, $message = '')
901 {
902 if (!interface_exists($value)) {
903 static::reportInvalidArgument(sprintf(
904 $message ?: 'Expected an existing interface name. got %s',
905 static::valueToString($value)
906 ));
907 }
908 }
909
838 public static function implementsInterface($value, $interface, $message = '') 910 public static function implementsInterface($value, $interface, $message = '')
839 { 911 {
840 if (!in_array($interface, class_implements($value))) { 912 if (!in_array($interface, class_implements($value))) {
841 static::reportInvalidArgument(sprintf( 913 static::reportInvalidArgument(sprintf(
842 $message ?: 'Expected an implementation of %2$s. Got: %s', 914 $message ?: 'Expected an implementation of %2$s. Got: %s',
886 } 958 }
887 } 959 }
888 960
889 public static function keyExists($array, $key, $message = '') 961 public static function keyExists($array, $key, $message = '')
890 { 962 {
891 if (!array_key_exists($key, $array)) { 963 if (!(isset($array[$key]) || array_key_exists($key, $array))) {
892 static::reportInvalidArgument(sprintf( 964 static::reportInvalidArgument(sprintf(
893 $message ?: 'Expected the key %s to exist.', 965 $message ?: 'Expected the key %s to exist.',
894 static::valueToString($key) 966 static::valueToString($key)
895 )); 967 ));
896 } 968 }
897 } 969 }
898 970
899 public static function keyNotExists($array, $key, $message = '') 971 public static function keyNotExists($array, $key, $message = '')
900 { 972 {
901 if (array_key_exists($key, $array)) { 973 if (isset($array[$key]) || array_key_exists($key, $array)) {
902 static::reportInvalidArgument(sprintf( 974 static::reportInvalidArgument(sprintf(
903 $message ?: 'Expected the key %s to not exist.', 975 $message ?: 'Expected the key %s to not exist.',
904 static::valueToString($key) 976 static::valueToString($key)
905 )); 977 ));
906 } 978 }
946 $message ?: 'Expected an array to contain between %2$d and %3$d elements. Got: %d', 1018 $message ?: 'Expected an array to contain between %2$d and %3$d elements. Got: %d',
947 $count, 1019 $count,
948 $min, 1020 $min,
949 $max 1021 $max
950 )); 1022 ));
1023 }
1024 }
1025
1026 public static function isList($array, $message = '')
1027 {
1028 if (!is_array($array) || !$array || array_keys($array) !== range(0, count($array) - 1)) {
1029 static::reportInvalidArgument(
1030 $message ?: 'Expected list - non-associative array.'
1031 );
1032 }
1033 }
1034
1035 public static function isMap($array, $message = '')
1036 {
1037 if (
1038 !is_array($array) ||
1039 !$array ||
1040 array_keys($array) !== array_filter(array_keys($array), function ($key) {
1041 return is_string($key);
1042 })
1043 ) {
1044 static::reportInvalidArgument(
1045 $message ?: 'Expected map - associative array with string keys.'
1046 );
951 } 1047 }
952 } 1048 }
953 1049
954 public static function uuid($value, $message = '') 1050 public static function uuid($value, $message = '')
955 { 1051 {
1042 if (is_array($value)) { 1138 if (is_array($value)) {
1043 return 'array'; 1139 return 'array';
1044 } 1140 }
1045 1141
1046 if (is_object($value)) { 1142 if (is_object($value)) {
1143 if (method_exists($value, '__toString')) {
1144 return get_class($value).': '.self::valueToString($value->__toString());
1145 }
1146
1047 return get_class($value); 1147 return get_class($value);
1048 } 1148 }
1049 1149
1050 if (is_resource($value)) { 1150 if (is_resource($value)) {
1051 return 'resource'; 1151 return 'resource';