mirror of
https://github.com/Respect/Validation.git
synced 2024-06-09 01:02:16 +02:00
Improve tests of the "Optional" rule
PHPT tests are expensive, having all and only the necessary tests in one single file make more sense. Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
This commit is contained in:
parent
51f157605d
commit
344b00cc07
|
@ -1,17 +0,0 @@
|
|||
--CREDITS--
|
||||
Henrique Moody <henriquemoody@gmail.com>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
use Respect\Validation\Validator as v;
|
||||
|
||||
v::optional(v::alpha())->assert('');
|
||||
v::optional(v::alpha())->assert(null);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
===DONE===
|
|
@ -1,17 +0,0 @@
|
|||
--CREDITS--
|
||||
Henrique Moody <henriquemoody@gmail.com>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
use Respect\Validation\Validator as v;
|
||||
|
||||
v::optional(v::alpha())->check('');
|
||||
v::optional(v::alpha())->check(null);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
===DONE===
|
|
@ -1,22 +0,0 @@
|
|||
--CREDITS--
|
||||
Henrique Moody <henriquemoody@gmail.com>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
use Respect\Validation\Validator as v;
|
||||
|
||||
var_dump(v::alpha()->validate(''));
|
||||
var_dump(v::alpha()->validate(null));
|
||||
|
||||
var_dump(v::optional(v::alpha())->validate(''));
|
||||
var_dump(v::optional(v::alpha())->validate(null));
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
71
tests/integration/rules/optional.phpt
Normal file
71
tests/integration/rules/optional.phpt
Normal file
|
@ -0,0 +1,71 @@
|
|||
--CREDITS--
|
||||
Henrique Moody <henriquemoody@gmail.com>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
use Respect\Validation\Exceptions\NestedValidationException;
|
||||
use Respect\Validation\Exceptions\ValidationException;
|
||||
use Respect\Validation\Validator as v;
|
||||
|
||||
try {
|
||||
v::optional(v::alpha())->check(1234);
|
||||
} catch (ValidationException $exception) {
|
||||
echo $exception->getMessage().PHP_EOL;
|
||||
}
|
||||
|
||||
try {
|
||||
v::optional(v::alpha())->setName('Name')->check(1234);
|
||||
} catch (ValidationException $exception) {
|
||||
echo $exception->getMessage().PHP_EOL;
|
||||
}
|
||||
|
||||
try {
|
||||
v::not(v::optional(v::alpha()))->check('abcd');
|
||||
} catch (ValidationException $exception) {
|
||||
echo $exception->getMessage().PHP_EOL;
|
||||
}
|
||||
|
||||
try {
|
||||
v::not(v::optional(v::alpha()))->setName('Name')->check('abcd');
|
||||
} catch (ValidationException $exception) {
|
||||
echo $exception->getMessage().PHP_EOL;
|
||||
}
|
||||
|
||||
try {
|
||||
v::optional(v::alpha())->assert(1234);
|
||||
} catch (NestedValidationException $exception) {
|
||||
echo $exception->getFullMessage().PHP_EOL;
|
||||
}
|
||||
|
||||
try {
|
||||
v::optional(v::alpha())->setName('Name')->assert(1234);
|
||||
} catch (NestedValidationException $exception) {
|
||||
echo $exception->getFullMessage().PHP_EOL;
|
||||
}
|
||||
|
||||
try {
|
||||
v::not(v::optional(v::alpha()))->assert('abcd');
|
||||
} catch (NestedValidationException $exception) {
|
||||
echo $exception->getFullMessage().PHP_EOL;
|
||||
}
|
||||
|
||||
try {
|
||||
v::not(v::optional(v::alpha()))->setName('Name')->assert('abcd');
|
||||
} catch (NestedValidationException $exception) {
|
||||
echo $exception->getFullMessage().PHP_EOL;
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
1234 must contain only letters (a-z)
|
||||
Name must contain only letters (a-z)
|
||||
The value must not be optional
|
||||
Name must not be optional
|
||||
- 1234 must contain only letters (a-z)
|
||||
- Name must contain only letters (a-z)
|
||||
- The value must not be optional
|
||||
- Name must not be optional
|
|
@ -1,23 +0,0 @@
|
|||
--CREDITS--
|
||||
Henrique Moody <henriquemoody@gmail.com>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
use Respect\Validation\Validator as v;
|
||||
|
||||
var_dump(
|
||||
v::alpha()->validate(''),
|
||||
v::alpha()->validate(null),
|
||||
v::optional(v::alpha())->validate(''),
|
||||
v::optional(v::alpha())->validate(null)
|
||||
);
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
|
@ -1,20 +0,0 @@
|
|||
--CREDITS--
|
||||
Henrique Moody <henriquemoody@gmail.com>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
use Respect\Validation\Exceptions\OptionalException;
|
||||
use Respect\Validation\Validator as v;
|
||||
|
||||
try {
|
||||
v::not(v::optional(v::equals('foo')))->check(null);
|
||||
} catch (OptionalException $e) {
|
||||
echo $e->getMessage().PHP_EOL;
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
The value must not be optional
|
|
@ -1,20 +0,0 @@
|
|||
--CREDITS--
|
||||
Henrique Moody <henriquemoody@gmail.com>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
use Respect\Validation\Exceptions\OptionalException;
|
||||
use Respect\Validation\Validator as v;
|
||||
|
||||
try {
|
||||
v::not(v::optional(v::equals('foo'))->setName('My field'))->check(null);
|
||||
} catch (OptionalException $e) {
|
||||
echo $e->getMessage().PHP_EOL;
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
My field must not be optional
|
|
@ -1,16 +0,0 @@
|
|||
--CREDITS--
|
||||
Rafael Bartalotti <rafael_bartalotti@hotmail.com>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
use Respect\Validation\Validator as v;
|
||||
|
||||
v::optional(v::alpha())->validate('');
|
||||
v::optional(v::alpha())->validate(null);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
|
@ -18,7 +18,8 @@ use Respect\Validation\Validatable;
|
|||
use stdClass;
|
||||
|
||||
/**
|
||||
* @group rule
|
||||
* @group rule
|
||||
*
|
||||
* @covers \Respect\Validation\Rules\Optional
|
||||
*
|
||||
* @author Gabriel Caruso <carusogabriel34@gmail.com>
|
||||
|
|
Loading…
Reference in a new issue