1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
<?php
/**
* Test: Nette\Utils\Finder result test.
*/
declare(strict_types=1);
use Nette\Utils\FileInfo;
use Nette\Utils\Finder;
use Tester\Assert;
require __DIR__ . '/../bootstrap.php';
test('absolute path', function () {
$files = Finder::findFiles(basename(__FILE__))
->in(__DIR__)
->collect();
Assert::equal(
[new FileInfo(__FILE__)],
$files,
);
$file = reset($files);
Assert::same(__FILE__, (string) $file);
Assert::same('', $file->getRelativePath());
Assert::same('Finder.fileInfo.phpt', $file->getRelativePathname());
});
test('relative path', function () {
$files = Finder::findFiles('readme')
->from('fixtures.finder')
->collect();
$ds = DIRECTORY_SEPARATOR;
Assert::same('subdir', $files[0]->getRelativePath());
Assert::same("subdir{$ds}readme", $files[0]->getRelativePathname());
});
test('read', function () {
$file = new FileInfo('fixtures.finder/file.txt');
Assert::true(str_starts_with($file->read(), 'File for testing purposes'));
});
test('write', function () {
$file = new FileInfo(getTempDir() . '/foo');
$file->write('foo');
Assert::same('foo', $file->read());
});
|