Files
FreshRSS/tests/cli/i18n/I18nFileTest.php
Luc SANCHEZ 30c7a61a9b Use strict_types (#5830)
* Little's optimisations and booleans in conditions

* Apply strict type

* Apply strict type

* Apply strict type

* Fix multiple bugs with PHP 8.2 and 8.3

* Many declares missing, more errors fixed

* Apply strict type

* Another approach

* Stronger typing for Minz_Session

* Fix case of SQLite

---------

Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-11-16 22:43:00 +01:00

40 lines
834 B
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/../../../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::assertEquals($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;
}
}