8000 [2.3][Translation] test refresh cache when resources File change. · symfony/symfony@3b00bb7 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3b00bb7

Browse files
committed
[2.3][Translation] test refresh cache when resources File change.
1 parent 986e3d1 commit 3b00bb7

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
use Symfony\Component\Translation\MessageCatalogue;
1717
use Symfony\Component\Filesystem\Filesystem;
1818
use Symfony\Component\Translation\MessageSelector;
19+
use Symfony\Component\Translation\Loader\PhpFileLoader;
20+
use Symfony\Component\Translation\Dumper\PhpFileDumper;
1921

2022
class TranslatorTest extends \PHPUnit_Framework_TestCase
2123
{
@@ -212,6 +214,33 @@ public function testDifferentCacheFilesAreUsedForDifferentSetsOfFallbackLocales(
212214
$this->assertEquals('bar', $translator->trans('bar'));
213215
}
214216

217+
public function testRefreshCacheWhenResourcesFileChange()
218+
{
219+
$resourceFile = $this->tmpDir.'/messages.fr.php';
220+
$loader = new PhpFileLoader();
221+
$dumper = new PhpFileDumper();
222+
223+
$translator = $this->createTranslator($loader, array('cache_dir' => $this->tmpDir, 'debug' => true));
224+
$translator->trans('foo');
225+
226+
$translator->setLocale('fr');
227+
$dumper->dump($this->getCatalogue('fr', array('foo' => 'foo A')), array('path' => $this->tmpDir));
228+
$translator->addLoader('loader', $loader);
229+
$translator->addResource('loader', $resourceFile, 'fr');
230+
$this->assertEquals('foo A', $translator->trans('foo'));
231+
232+
$dumper->dump($this->getCatalogue('fr', array('foo' => 'foo B')), array('path' => $this->tmpDir));
233+
$translator = $this->createTranslator($loader, array('cache_dir' => $this->tmpDir, 'debug' => true));
234+
$translator->setLocale('fr');
235+
$translator->addLoader('loader', $loader);
236+
$translator->addResource('loader', $resourceFile, 'fr');
237+
238+
// Touch the resourceFile, we'll set it to one +1 hour.
239+
touch($resourceFile, time() + 3600);
240+
241+
$this->assertEquals('foo B', $translator->trans('foo'));
242+
}
243+
215244
protected function getCatalogue($locale, $messages)
216245
{
217246
$catalogue = new MessageCatalogue($locale);

0 commit comments

Comments
 (0)
0