respect-validation/tests/feature/Issues/Issue1333Test.php
Henrique Moody a37cac7142
Invert the behaviour of NoWhitespace
Since we have the ability to use `not` as a prefix, having rules that
validate negative behavior makes them a bit inflexible, verbose, and
harder to understand.

This commit will refactor the `NoWhitespace` rule by inverting its
behaviour and renaming it to `Spaced`. Although this is a breaking
change, users will still be able to have a similar behavior with the
prefix `not` + `Spaced`.
2025-12-29 09:11:01 +01:00

24 lines
925 B
PHP

<?php
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
test('https://github.com/Respect/Validation/issues/1333', catchAll(
fn() => v::notSpaced()->email()->setName('User Email')->assert('not email'),
fn(string $message, string $fullMessage, array $messages) => expect()
->and($message)->toBe('User Email must not contain whitespaces')
->and($fullMessage)->toBe(<<<'FULL_MESSAGE'
- User Email must pass all the rules
- "not email" must not contain whitespaces
- "not email" must be a valid email address
FULL_MESSAGE)
->and($messages)->toBe([
'__root__' => 'User Email must pass all the rules',
'notSpaced' => '"not email" must not contain whitespaces',
'email' => '"not email" must be a valid email address',
]),
));