mirror of
https://github.com/Respect/Validation.git
synced 2026-03-17 15:50:03 +01:00
Since the library doesn't need to give support to version 5.4 or less of PHP using variadics in the constructor of "AbstractFilterRule" seems better than doing the whole validation. This commit will also apply the contribution guidelines to "AbstractFilterRule" and use a better naming for it. Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
91 lines
2.1 KiB
PHP
91 lines
2.1 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of Respect/Validation.
|
|
*
|
|
* (c) Alexandre Gomes Gaigalas <alexandre@gaigalas.net>
|
|
*
|
|
* For the full copyright and license information, please view the "LICENSE.md"
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Respect\Validation\Rules;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
/**
|
|
* @group rule
|
|
* @covers \Respect\Validation\Exceptions\GraphException
|
|
* @covers \Respect\Validation\Rules\AbstractFilterRule
|
|
* @covers \Respect\Validation\Rules\Graph
|
|
*/
|
|
class GraphTest extends TestCase
|
|
{
|
|
/**
|
|
* @dataProvider providerForValidGraph
|
|
*
|
|
* @test
|
|
*/
|
|
public function validDataWithGraphCharsShouldReturnTrue($validGraph, $additional = ''): void
|
|
{
|
|
$validator = new Graph($additional);
|
|
self::assertTrue($validator->validate($validGraph));
|
|
}
|
|
|
|
/**
|
|
* @dataProvider providerForInvalidGraph
|
|
* @expectedException \Respect\Validation\Exceptions\GraphException
|
|
*
|
|
* @test
|
|
*/
|
|
public function invalidGraphShouldFailAndThrowGraphException($invalidGraph, $additional = ''): void
|
|
{
|
|
$validator = new Graph($additional);
|
|
self::assertFalse($validator->validate($invalidGraph));
|
|
$validator->assert($invalidGraph);
|
|
}
|
|
|
|
/**
|
|
* @dataProvider providerAdditionalChars
|
|
*
|
|
* @test
|
|
*/
|
|
public function additionalCharsShouldBeRespected($additional, $query): void
|
|
{
|
|
$validator = new Graph($additional);
|
|
self::assertTrue($validator->validate($query));
|
|
}
|
|
|
|
public function providerAdditionalChars()
|
|
{
|
|
return [
|
|
[' ', '!@#$%^&*(){} abc 123'],
|
|
[" \t\n", "[]?+=/\\-_|\"',<>. \t \n abc 123"],
|
|
];
|
|
}
|
|
|
|
public function providerForValidGraph()
|
|
{
|
|
return [
|
|
['LKA#@%.54'],
|
|
['foobar'],
|
|
['16-50'],
|
|
['123'],
|
|
['#$%&*_'],
|
|
];
|
|
}
|
|
|
|
public function providerForInvalidGraph()
|
|
{
|
|
return [
|
|
[''],
|
|
[null],
|
|
["foo\nbar"],
|
|
["foo\tbar"],
|
|
['foo bar'],
|
|
[' '],
|
|
];
|
|
}
|
|
}
|