[Translation][Writer] avoid calling setBackup if the dumper is not an instance of FileDumper.

This commit is contained in:
Abdellatif Ait boudad 2015-12-08 14:36:25 +00:00
parent f253d624a0
commit 369b2d4876
2 changed files with 50 additions and 1 deletions

View File

@ -0,0 +1,47 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Translation\Tests\Writer;
use Symfony\Component\Translation\MessageCatalogue;
use Symfony\Component\Translation\Writer\TranslationWriter;
class TranslationWriterTest extends \PHPUnit_Framework_TestCase
{
public function testWriteTranslations()
{
$dumper = $this->getMock('Symfony\Component\Translation\Dumper\DumperInterface');
$dumper
->expects($this->once())
->method('dump');
$writer = new TranslationWriter();
$writer->addDumper('test', $dumper);
$writer->writeTranslations(new MessageCatalogue(array()), 'test');
}
public function testDisableBackup()
{
$dumper = $this->getMock('Symfony\Component\Translation\Dumper\DumperInterface');
$dumper
->expects($this->never())
->method('setBackup');
$phpDumper = $this->getMock('Symfony\Component\Translation\Dumper\PhpFileDumper');
$phpDumper
->expects($this->once())
->method('setBackup');
$writer = new TranslationWriter();
$writer->addDumper('test', $dumper);
$writer->addDumper('php', $phpDumper);
$writer->disableBackup();
}
}

View File

@ -45,7 +45,9 @@ class TranslationWriter
public function disableBackup()
{
foreach ($this->dumpers as $dumper) {
$dumper->setBackup(false);
if (method_exists($dumper, 'setBackup')) {
$dumper->setBackup(false);
}
}
}