/** * Tests setting a valid header. */ public function testValidHeader() { $dumper = new CombinedFileDumper($this->mockFilesystem("<?php\necho 'foo';\necho 'test';\n"), $this->mockLoader(), $this->getCacheDir()); $dumper->setHeader("<?php\necho 'foo';"); $dumper->dump(['test.php'], 'test.php'); }
/** * Generates the language cache. * * @param string $cacheDir */ private function generateLanguageCache($cacheDir) { $dumper = new CombinedFileDumper($this->filesystem, new DelegatingLoader(new LoaderResolver([new PhpFileLoader(), new XliffFileLoader($this->rootDir)])), $cacheDir . '/contao'); $dumper->setHeader("<?php\n"); foreach ($this->getLanguagesInUse() as $language) { $processed = []; try { $files = $this->finder->findIn('languages/' . $language)->files()->name('/\\.(php|xlf)$/'); } catch (\InvalidArgumentException $e) { continue; // the language does not exist } /** @var SplFileInfo[] $files */ foreach ($files as $file) { $name = substr($file->getBasename(), 0, -4); if (in_array($name, $processed)) { continue; } $processed[] = $name; $subfiles = $this->finder->findIn('languages/' . $language)->files()->name('/^' . $name . '\\.(php|xlf)$/'); try { $dumper->dump(iterator_to_array($subfiles), sprintf('languages/%s/%s.php', $language, $name), ['type' => $language]); } catch (\OutOfBoundsException $e) { continue; } } } }