@@ 81-89 (lines=9) @@ | ||
78 | * |
|
79 | * @throws InvalidArgumentException |
|
80 | */ |
|
81 | public static function integer($value, $message = '') |
|
82 | { |
|
83 | if (!\is_int($value)) { |
|
84 | static::reportInvalidArgument(\sprintf( |
|
85 | $message ?: 'Expected an integer. Got: %s', |
|
86 | static::typeToString($value) |
|
87 | )); |
|
88 | } |
|
89 | } |
|
90 | ||
91 | /** |
|
92 | * @psalm-pure |
|
@@ 119-127 (lines=9) @@ | ||
116 | * |
|
117 | * @throws InvalidArgumentException |
|
118 | */ |
|
119 | public static function positiveInteger($value, $message = '') |
|
120 | { |
|
121 | if (! (\is_int($value) && $value > 0)) { |
|
122 | static::reportInvalidArgument(\sprintf( |
|
123 | $message ?: 'Expected a positive integer. Got: %s', |
|
124 | static::valueToString($value) |
|
125 | )); |
|
126 | } |
|
127 | } |
|
128 | ||
129 | /** |
|
130 | * @psalm-pure |
|
@@ 138-146 (lines=9) @@ | ||
135 | * |
|
136 | * @throws InvalidArgumentException |
|
137 | */ |
|
138 | public static function naturalNumber($value, $message = '') |
|
139 | { |
|
140 | if (! (\is_int($value) && $value > 0)) { |
|
141 | static::reportInvalidArgument(\sprintf( |
|
142 | $message ?: 'Expected a positive integer. Got: %s', |
|
143 | static::valueToString($value) |
|
144 | )); |
|
145 | } |
|
146 | } |
|
147 | ||
148 | /** |
|
149 | * @psalm-pure |
|
@@ 195-203 (lines=9) @@ | ||
192 | * |
|
193 | * @throws InvalidArgumentException |
|
194 | */ |
|
195 | public static function natural($value, $message = '') |
|
196 | { |
|
197 | if (!\is_int($value) || $value < 0) { |
|
198 | static::reportInvalidArgument(\sprintf( |
|
199 | $message ?: 'Expected a non-negative integer. Got: %s', |
|
200 | static::valueToString($value) |
|
201 | )); |
|
202 | } |
|
203 | } |
|
204 | ||
205 | /** |
|
206 | * @psalm-pure |
|
@@ 615-623 (lines=9) @@ | ||
612 | * |
|
613 | * @throws InvalidArgumentException |
|
614 | */ |
|
615 | public static function null($value, $message = '') |
|
616 | { |
|
617 | if (null !== $value) { |
|
618 | static::reportInvalidArgument(\sprintf( |
|
619 | $message ?: 'Expected null. Got: %s', |
|
620 | static::valueToString($value) |
|
621 | )); |
|
622 | } |
|
623 | } |
|
624 | ||
625 | /** |
|
626 | * @psalm-pure |
|
@@ 652-660 (lines=9) @@ | ||
649 | * |
|
650 | * @throws InvalidArgumentException |
|
651 | */ |
|
652 | public static function true($value, $message = '') |
|
653 | { |
|
654 | if (true !== $value) { |
|
655 | static::reportInvalidArgument(\sprintf( |
|
656 | $message ?: 'Expected a value to be true. Got: %s', |
|
657 | static::valueToString($value) |
|
658 | )); |
|
659 | } |
|
660 | } |
|
661 | ||
662 | /** |
|
663 | * @psalm-pure |
|
@@ 671-679 (lines=9) @@ | ||
668 | * |
|
669 | * @throws InvalidArgumentException |
|
670 | */ |
|
671 | public static function false($value, $message = '') |
|
672 | { |
|
673 | if (false !== $value) { |
|
674 | static::reportInvalidArgument(\sprintf( |
|
675 | $message ?: 'Expected a value to be false. Got: %s', |
|
676 | static::valueToString($value) |
|
677 | )); |
|
678 | } |
|
679 | } |
|
680 | ||
681 | /** |
|
682 | * @psalm-pure |
|
@@ 794-803 (lines=10) @@ | ||
791 | * |
|
792 | * @throws InvalidArgumentException |
|
793 | */ |
|
794 | public static function eq($value, $expect, $message = '') |
|
795 | { |
|
796 | if ($expect != $value) { |
|
797 | static::reportInvalidArgument(\sprintf( |
|
798 | $message ?: 'Expected a value equal to %2$s. Got: %s', |
|
799 | static::valueToString($value), |
|
800 | static::valueToString($expect) |
|
801 | )); |
|
802 | } |
|
803 | } |
|
804 | ||
805 | /** |
|
806 | * @param mixed $value |
|
@@ 831-840 (lines=10) @@ | ||
828 | * |
|
829 | * @throws InvalidArgumentException |
|
830 | */ |
|
831 | public static function same($value, $expect, $message = '') |
|
832 | { |
|
833 | if ($expect !== $value) { |
|
834 | static::reportInvalidArgument(\sprintf( |
|
835 | $message ?: 'Expected a value identical to %2$s. Got: %s', |
|
836 | static::valueToString($value), |
|
837 | static::valueToString($expect) |
|
838 | )); |
|
839 | } |
|
840 | } |
|
841 | ||
842 | /** |
|
843 | * @psalm-pure |
|
@@ 870-879 (lines=10) @@ | ||
867 | * |
|
868 | * @throws InvalidArgumentException |
|
869 | */ |
|
870 | public static function greaterThan($value, $limit, $message = '') |
|
871 | { |
|
872 | if ($value <= $limit) { |
|
873 | static::reportInvalidArgument(\sprintf( |
|
874 | $message ?: 'Expected a value greater than %2$s. Got: %s', |
|
875 | static::valueToString($value), |
|
876 | static::valueToString($limit) |
|
877 | )); |
|
878 | } |
|
879 | } |
|
880 | ||
881 | /** |
|
882 | * @psalm-pure |
|
@@ 890-899 (lines=10) @@ | ||
887 | * |
|
888 | * @throws InvalidArgumentException |
|
889 | */ |
|
890 | public static function greaterThanEq($value, $limit, $message = '') |
|
891 | { |
|
892 | if ($value < $limit) { |
|
893 | static::reportInvalidArgument(\sprintf( |
|
894 | $message ?: 'Expected a value greater than or equal to %2$s. Got: %s', |
|
895 | static::valueToString($value), |
|
896 | static::valueToString($limit) |
|
897 | )); |
|
898 | } |
|
899 | } |
|
900 | ||
901 | /** |
|
902 | * @psalm-pure |
|
@@ 910-919 (lines=10) @@ | ||
907 | * |
|
908 | * @throws InvalidArgumentException |
|
909 | */ |
|
910 | public static function lessThan($value, $limit, $message = '') |
|
911 | { |
|
912 | if ($value >= $limit) { |
|
913 | static::reportInvalidArgument(\sprintf( |
|
914 | $message ?: 'Expected a value less than %2$s. Got: %s', |
|
915 | static::valueToString($value), |
|
916 | static::valueToString($limit) |
|
917 | )); |
|
918 | } |
|
919 | } |
|
920 | ||
921 | /** |
|
922 | * @psalm-pure |
|
@@ 930-939 (lines=10) @@ | ||
927 | * |
|
928 | * @throws InvalidArgumentException |
|
929 | */ |
|
930 | public static function lessThanEq($value, $limit, $message = '') |
|
931 | { |
|
932 | if ($value > $limit) { |
|
933 | static::reportInvalidArgument(\sprintf( |
|
934 | $message ?: 'Expected a value less than or equal to %2$s. Got: %s', |
|
935 | static::valueToString($value), |
|
936 | static::valueToString($limit) |
|
937 | )); |
|
938 | } |
|
939 | } |
|
940 | ||
941 | /** |
|
942 | * Inclusive range, so Assert::(3, 3, 5) passes. |
|
@@ 1051-1059 (lines=9) @@ | ||
1048 | * |
|
1049 | * @throws InvalidArgumentException |
|
1050 | */ |
|
1051 | public static function notWhitespaceOnly($value, $message = '') |
|
1052 | { |
|
1053 | if (\preg_match('/^\s*$/', $value)) { |
|
1054 | static::reportInvalidArgument(\sprintf( |
|
1055 | $message ?: 'Expected a non-whitespace string. Got: %s', |
|
1056 | static::valueToString($value) |
|
1057 | )); |
|
1058 | } |
|
1059 | } |
|
1060 | ||
1061 | /** |
|
1062 | * @psalm-pure |
|
@@ 1380-1389 (lines=10) @@ | ||
1377 | * |
|
1378 | * @throws InvalidArgumentException |
|
1379 | */ |
|
1380 | public static function minLength($value, $min, $message = '') |
|
1381 | { |
|
1382 | if (static::strlen($value) < $min) { |
|
1383 | static::reportInvalidArgument(\sprintf( |
|
1384 | $message ?: 'Expected a value to contain at least %2$s characters. Got: %s', |
|
1385 | static::valueToString($value), |
|
1386 | $min |
|
1387 | )); |
|
1388 | } |
|
1389 | } |
|
1390 | ||
1391 | /** |
|
1392 | * Inclusive max. |
|
@@ 1402-1411 (lines=10) @@ | ||
1399 | * |
|
1400 | * @throws InvalidArgumentException |
|
1401 | */ |
|
1402 | public static function maxLength($value, $max, $message = '') |
|
1403 | { |
|
1404 | if (static::strlen($value) > $max) { |
|
1405 | static::reportInvalidArgument(\sprintf( |
|
1406 | $message ?: 'Expected a value to contain at most %2$s characters. Got: %s', |
|
1407 | static::valueToString($value), |
|
1408 | $max |
|
1409 | )); |
|
1410 | } |
|
1411 | } |
|
1412 | ||
1413 | /** |
|
1414 | * Inclusive , so Assert::lengthBetween('asd', 3, 5); passes the assertion. |
|
@@ 1501-1509 (lines=9) @@ | ||
1498 | * |
|
1499 | * @throws InvalidArgumentException |
|
1500 | */ |
|
1501 | public static function readable($value, $message = '') |
|
1502 | { |
|
1503 | if (!\is_readable($value)) { |
|
1504 | static::reportInvalidArgument(\sprintf( |
|
1505 | $message ?: 'The path %s is not readable.', |
|
1506 | static::valueToString($value) |
|
1507 | )); |
|
1508 | } |
|
1509 | } |
|
1510 | ||
1511 | /** |
|
1512 | * @param string $value |
|
@@ 1517-1525 (lines=9) @@ | ||
1514 | * |
|
1515 | * @throws InvalidArgumentException |
|
1516 | */ |
|
1517 | public static function writable($value, $message = '') |
|
1518 | { |
|
1519 | if (!\is_writable($value)) { |
|
1520 | static::reportInvalidArgument(\sprintf( |
|
1521 | $message ?: 'The path %s is not writable.', |
|
1522 | static::valueToString($value) |
|
1523 | )); |
|
1524 | } |
|
1525 | } |
|
1526 | ||
1527 | /** |
|
1528 | * @psalm-assert class-string $value |
|
@@ 1535-1543 (lines=9) @@ | ||
1532 | * |
|
1533 | * @throws InvalidArgumentException |
|
1534 | */ |
|
1535 | public static function classExists($value, $message = '') |
|
1536 | { |
|
1537 | if (!\class_exists($value)) { |
|
1538 | static::reportInvalidArgument(\sprintf( |
|
1539 | $message ?: 'Expected an existing class name. Got: %s', |
|
1540 | static::valueToString($value) |
|
1541 | )); |
|
1542 | } |
|
1543 | } |
|
1544 | ||
1545 | /** |
|
1546 | * @psalm-pure |
|
@@ 1576-1584 (lines=9) @@ | ||
1573 | * |
|
1574 | * @throws InvalidArgumentException |
|
1575 | */ |
|
1576 | public static function interfaceExists($value, $message = '') |
|
1577 | { |
|
1578 | if (!\interface_exists($value)) { |
|
1579 | static::reportInvalidArgument(\sprintf( |
|
1580 | $message ?: 'Expected an existing interface name. got %s', |
|
1581 | static::valueToString($value) |
|
1582 | )); |
|
1583 | } |
|
1584 | } |
|
1585 | ||
1586 | /** |
|
1587 | * @psalm-pure |