* SPDX-License-Identifier: MIT */ declare(strict_types=1); namespace Respect\Validation\Rules; use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\Attributes\Group; use Respect\Validation\Test\Rules\Stub; use Respect\Validation\Test\RuleTestCase; use stdClass; #[Group('rule')] #[CoversClass(Callback::class)] final class CallbackTest extends RuleTestCase { /** @return iterable */ public static function providerForValidInput(): iterable { return [ [new Callback('is_a', 'stdClass'), new stdClass()], [new Callback([Stub::pass(1), 'isValid']), 'test'], [new Callback('is_string'), 'test'], [ new Callback(static function () { return true; }), 'wpoiur', ], ]; } /** @return iterable */ public static function providerForInvalidInput(): iterable { return [ [ new Callback(static function () { return false; }), 'w poiur', ], [ new Callback(static function () { return false; }), '', ], ]; } }