Files
FreshRSS/tests/cli/i18n/I18nFileTest.php
Alexis Degrugillier 23ba48c71f Change how files are included (#7916)
1. `include`, `include_once`, `require` and `require_once` are expressions not functions, parentheses are not necessary.
2. to move up the directory tree, it's better to use the `dirname` function instead of relying on `/..`.
2025-09-05 15:56:46 +02:00

40 lines
835 B
PHP

<?php
declare(strict_types=1);
require_once dirname(__DIR__, 3) . '/cli/i18n/I18nFile.php';
class I18nFileTest extends PHPUnit\Framework\TestCase {
public function test(): void {
$before = $this->computeFilesHash();
$file = new I18nFile();
$data = $file->load();
$file->dump($data);
$after = $this->computeFilesHash();
self::assertSame($before, $after);
}
/** @return array<string,string|false> */
private function computeFilesHash(): array {
$hashes = [];
$dirs = new DirectoryIterator(I18N_PATH);
foreach ($dirs as $dir) {
if ($dir->isDot()) {
continue;
}
$files = new DirectoryIterator($dir->getPathname());
foreach ($files as $file) {
if (!$file->isFile()) {
continue;
}
$hashes[$file->getPathname()] = sha1_file($file->getPathname());
}
}
return $hashes;
}
}