4
0

I18nFileTest.php 842 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. declare(strict_types=1);
  3. require_once dirname(__DIR__, 3) . '/cli/i18n/I18nFile.php';
  4. final class I18nFileTest extends \PHPUnit\Framework\TestCase {
  5. public function test(): void {
  6. $before = $this->computeFilesHash();
  7. $file = new I18nFile();
  8. $data = $file->load();
  9. $file->dump($data);
  10. $after = $this->computeFilesHash();
  11. self::assertSame($before, $after);
  12. }
  13. /** @return array<string,string|false> */
  14. private function computeFilesHash(): array {
  15. $hashes = [];
  16. $dirs = new DirectoryIterator(I18N_PATH);
  17. foreach ($dirs as $dir) {
  18. if ($dir->isDot()) {
  19. continue;
  20. }
  21. $files = new DirectoryIterator($dir->getPathname());
  22. foreach ($files as $file) {
  23. if (!$file->isFile()) {
  24. continue;
  25. }
  26. $hashes[$file->getPathname()] = sha1_file($file->getPathname());
  27. }
  28. }
  29. return $hashes;
  30. }
  31. }