I18nFileTest.php 811 B

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