bebat / filesystem-assertions
Collection of assertions about filesystem objects
1.1.1
2023-08-05 04:16 UTC
Requires
- php: ^7.2 || ^8.0
- ext-mbstring: *
- ext-posix: *
- phpunit/phpunit: ^8.0 || ^9.0 || ^10.0
Requires (Dev)
- captainhook/captainhook: ~5.14.4
- captainhook/plugin-composer: ~5.3.3
- codeception/assert-throws: ~1.3.0
- ergebnis/composer-normalize: ~2.15.0
- friendsofphp/php-cs-fixer: ~3.4.0 || ~3.22.0
- maglnet/composer-require-checker: ^2.1.0 || ~4.4.0
- mockery/mockery: ~1.3.6
- php-mock/php-mock: ~2.4.1
- phpstan/extension-installer: ~1.1.0 || ~1.3.1
- phpstan/phpstan: ~1.10.26
- phpstan/phpstan-deprecation-rules: ~1.1.3
- phpstan/phpstan-mockery: ~1.1.1
- phpstan/phpstan-phpunit: ~1.3.13
- phpstan/phpstan-strict-rules: ~1.5.1
README
PHPUnit Filesystem Assertions
This is a small collection PHPUnit assertions for testing filesystem entries. It is meant to compliment the assertions already built into PHPunit.
Table of Contents
Installation
Use Composer to install the current version of PHPUnit Filesystem Asserts from Packagist.
composer require --dev bebat/filesystem-assertions
The easiest way to add these assertions to your test case(s) is using a trait:
<?php use BeBat\FilesystemAssertions\FilesystemAssertionsTrait; use PHPUnit\Framework\TestCase; class SomeTest extends TestCase { use FilesystemAssertionsTrait; // ... }
Available Assertions
// Assert that $directory contains one or more files. assertDirectoryContainsFiles(string $directory, array $files, string $message = ''); assertDirectoryDoesNotContainFiles(string $directory, array $files, string $message = '') // Assert that $file is owned by a user ID or name. assertFileHasUserId(string $file, int $uid, string $message = '') assertFileHasUser(string $file, string $user, string $message = '') assertFileDoesNotHaveUserId(string $file, int $uid, string $message = '') assertFileDoesNotHaveUser(string $file, string $user, string $message = '') // Assert that $file has a group ID or name. assertFileHasGroupId(string $file, int $gid, string $message = '') assertFileHasGroup(string $file, string $group, string $message = '') assertFileDoesNotHaveGroupId(string $file, int $gid, string $message = '') assertFileDoesNotHaveGroup(string $file, string $group, string $message = '') // Assert that $path is a regular file. assertIsFile(string $path, string $message = '') assertIsNotFile(string $path, string $message = '') // Assert that $file is a symbolic link. assertFileIsLink(string $file, string $message = '') assertFileIsNotLink(string $file, string $message = '') // Assert that $file is executable. assertFileIsExecutable(string $file, string $message = '') assertFileIsNotExecutable(string $file, string $message = '') // Assert that $file is a symbolic link and points to $target. assertSymbolicLinkPointsTo(string $file, string $target, string $message = '') assertSymbolicLinkDoesNotPointTo(string $file, string $target, string $message = '') // Assert that $file's permissions are exactly an octal string (or integer). assertFilePermissionsEqual(string $file, $perms, string $message = '') assertFilePermissionsDoNotEqual(string $file, $perms, string $message = '') // Assert that $file's permissions MATCH an octal string (or integer). // For example, if a file has permissions 755, 644 would match but 422 would NOT. assertFilePermissionsMatch(string $file, $perms, string $message = '') assertFilePermissionsDoNotMatch(string $file, $perms, string $message = '')