* * 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 Respect\Validation\Test\RuleTestCase; use SplFileInfo; use SplFileObject; use function tmpfile; /** * @group rule * * @covers \Respect\Validation\Rules\SymbolicLink * * @author Gabriel Caruso * @author Gus Antoniassi * @author Henrique Moody */ final class SymbolicLinkTest extends RuleTestCase { /** * {@inheritdoc} */ public function providerForValidInput(): array { $sut = new SymbolicLink(); return [ 'filename' => [$sut, 'tests/fixtures/symbolic-link'], 'SplFileInfo' => [$sut, new SplFileInfo('tests/fixtures/symbolic-link')], 'SplFileObject' => [$sut, new SplFileObject('tests/fixtures/symbolic-link')], ]; } /** * {@inheritdoc} */ public function providerForInvalidInput(): array { $sut = new SymbolicLink(); return [ 'no existing filename' => [$sut, 'tests/fixtures/non-existing-symbolic-link'], 'no existing SplFileInfo' => [$sut, new SplFileInfo('tests/fixtures/non-existing-symbolic-link')], 'bool true' => [$sut, true], 'bool false' => [$sut, false], 'empty string' => [$sut, ''], 'array' => [$sut, []], 'resource' => [$sut, tmpfile()], ]; } }