* 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\RuleTestCase; use Respect\Validation\Test\Stubs\StreamStub; use SplFileInfo; use stdClass; #[Group('rule')] #[CoversClass(Readable::class)] final class ReadableTest extends RuleTestCase { /** @return iterable */ public static function providerForValidInput(): iterable { $file = self::fixture('valid-image.gif'); $rule = new Readable(); return [ [$rule, $file], [$rule, new SplFileInfo($file)], [$rule, StreamStub::create()], ]; } /** @return iterable */ public static function providerForInvalidInput(): iterable { $file = self::fixture('invalid-image.gif'); $rule = new Readable(); return [ [$rule, $file], [$rule, new SplFileInfo($file)], [$rule, new stdClass()], [$rule, StreamStub::createUnreadable()], ]; } }