You are here

FileDumperTest.php in Zircon Profile 8.0

Same filename and directory in other branches
  1. 8 vendor/symfony/translation/Tests/Dumper/FileDumperTest.php

File

vendor/symfony/translation/Tests/Dumper/FileDumperTest.php
View source
<?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\Dumper;

use Symfony\Component\Translation\MessageCatalogue;
use Symfony\Component\Translation\Dumper\FileDumper;
class FileDumperTest extends \PHPUnit_Framework_TestCase {
  public function testDumpBackupsFileIfExisting() {
    $tempDir = sys_get_temp_dir();
    $file = $tempDir . '/messages.en.concrete';
    $backupFile = $file . '~';
    @touch($file);
    $catalogue = new MessageCatalogue('en');
    $catalogue
      ->add(array(
      'foo' => 'bar',
    ));
    $dumper = new ConcreteFileDumper();
    $dumper
      ->dump($catalogue, array(
      'path' => $tempDir,
    ));
    $this
      ->assertTrue(file_exists($backupFile));
    @unlink($file);
    @unlink($backupFile);
  }
  public function testDumpCreatesNestedDirectoriesAndFile() {
    $tempDir = sys_get_temp_dir();
    $translationsDir = $tempDir . '/test/translations';
    $file = $translationsDir . '/messages.en.concrete';
    $catalogue = new MessageCatalogue('en');
    $catalogue
      ->add(array(
      'foo' => 'bar',
    ));
    $dumper = new ConcreteFileDumper();
    $dumper
      ->setRelativePathTemplate('test/translations/%domain%.%locale%.%extension%');
    $dumper
      ->dump($catalogue, array(
      'path' => $tempDir,
    ));
    $this
      ->assertTrue(file_exists($file));
    @unlink($file);
    @rmdir($translationsDir);
  }

}
class ConcreteFileDumper extends FileDumper {
  protected function format(MessageCatalogue $messages, $domain) {
    return '';
  }
  protected function getExtension() {
    return 'concrete';
  }

}

Classes