respect-validation/tests/unit/Rules/CallbackTest.php
Henrique Moody 049b0b27ae
Do not use the test class to test the Callback rule
That will help us later because, on PHPUnit 10, all data providers need
to be static.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2023-04-03 16:28:38 +02:00

67 lines
1.5 KiB
PHP

<?php
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
namespace Respect\Validation\Rules;
use Respect\Validation\Test\RuleTestCase;
use stdClass;
/**
* @group rule
*
* @covers \Respect\Validation\Rules\Callback
*
* @author Alexandre Gomes Gaigalas <alganet@gmail.com>
* @author Gabriel Caruso <carusogabriel34@gmail.com>
* @author Henrique Moody <henriquemoody@gmail.com>
* @author Nick Lombard <github@jigsoft.co.za>
* @author William Espindola <oi@williamespindola.com.br>
*/
final class CallbackTest extends RuleTestCase
{
/**
* {@inheritDoc}
*/
public function providerForValidInput(): array
{
return [
[new Callback('is_a', 'stdClass'), new stdClass()],
[new Callback([new AlwaysValid(), 'validate']), 'test'],
[new Callback('is_string'), 'test'],
[
new Callback(static function () {
return true;
}),
'wpoiur',
],
];
}
/**
* {@inheritDoc}
*/
public function providerForInvalidInput(): array
{
return [
[
new Callback(static function () {
return false;
}),
'w poiur',
],
[
new Callback(static function () {
return false;
}),
'',
],
];
}
}