* SPDX-License-Identifier: MIT */ declare(strict_types=1); namespace Respect\Validation\Rules; use Respect\Validation\Test\RuleTestCase; /** * @group rule * * @covers \Respect\Validation\Rules\AbstractFilterRule * @covers \Respect\Validation\Rules\Graph * * @author Andre Ramaciotti * @author Gabriel Caruso * @author Henrique Moody * @author Nick Lombard * @author Pascal Borreli */ final class GraphTest extends RuleTestCase { /** * @inheritDoc */ public static function providerForValidInput(): array { $graph = new Graph(); return [ 'String with special characters "LKA#@%.54"' => [$graph, 'LKA#@%.54'], 'String "foobar"' => [$graph, 'foobar'], 'String 16-50' => [$graph, '16-50'], 'String 123' => [$graph, '123'], 'String with special characters "#$%&*_"' => [$graph, '#$%&*_'], 'Ignoring control characters "\n"' => [new Graph("\n"), "#$%&*_\n~"], 'Ignoring control characters "\n#\t&\r"' => [new Graph("\n#\t&\r"), "#$%&*_\n~\t**\r"], 'Ignoring character "_"' => [new Graph('_'), 'abc\#$%&*_'], 'Ignoring characters "# $"' => [new Graph('# $'), '#$%&*_'], 'Ignoring character with space' => [new Graph(' '), '!@#$%^&*(){} abc 123'], 'Ignoring control characters " \t\n"' => [new Graph(" \t\n"), "[]?+=/\\-_|\"',<>. \t \n abc 123"], ]; } /** * {@inheritDoc} */ public static function providerForInvalidInput(): array { $graph = new Graph(); return [ 'String empty' => [$graph, ''], 'Parameter null' => [$graph, null], 'String with "\n"' => [$graph, "foo\nbar"], 'String with "\t"' => [$graph, "foo\tbar"], 'String with "foo bar"' => [$graph, 'foo bar'], 'String with space' => [$graph, ' '], 'Igonring space' => [new Graph(' '), "@__§¬¬¬\n"], 'Ignoring control characters "foo\nbar"' => [new Graph("foo\nbar"), "foo\nbar\ree"], ]; } }