respect-validation/tests/integration/rules/instance.phpt
Henrique Moody cc20a442a1
Apply "SlevomatCodingStandard.TypeHints.DeclareStrictTypes"
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2019-02-09 14:11:12 +01:00

42 lines
1.2 KiB
PHP

--CREDITS--
Danilo Benevides <danilobenevides01@gmail.com>
--FILE--
<?php
declare(strict_types=1);
require 'vendor/autoload.php';
use Respect\Validation\Exceptions\InstanceException;
use Respect\Validation\Exceptions\NestedValidationException;
use Respect\Validation\Validator as v;
try {
v::instance(DateTime::class)->check('');
} catch (InstanceException $exception) {
echo $exception->getMessage().PHP_EOL;
}
try {
v::not(v::instance(Traversable::class))->check(new \ArrayObject());
} catch (InstanceException $exception) {
echo $exception->getMessage().PHP_EOL;
}
try {
v::instance(ArrayIterator::class)->assert(new stdClass());
} catch (NestedValidationException $exception) {
echo $exception->getFullMessage().PHP_EOL;
}
try {
v::not(v::instance(stdClass::class))->assert(new stdClass());
} catch (NestedValidationException $exception) {
echo $exception->getFullMessage().PHP_EOL;
}
?>
--EXPECT--
"" must be an instance of "DateTime"
`[traversable] (ArrayObject: { })` must not be an instance of "Traversable"
- `[object] (stdClass: { })` must be an instance of "ArrayIterator"
- `[object] (stdClass: { })` must not be an instance of "stdClass"