* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Intl\Tests\Data\Bundle\Writer; use PHPUnit\Framework\TestCase; use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Intl\Data\Bundle\Writer\TextBundleWriter; /** * @author Bernhard Schussek * * @see http://source.icu-project.org/repos/icu/icuhtml/trunk/design/bnf_rb.txt */ class TextBundleWriterTest extends TestCase { /** * @var TextBundleWriter */ private $writer; private $directory; /** * @var Filesystem */ private $filesystem; protected function setUp() { $this->writer = new TextBundleWriter(); $this->directory = sys_get_temp_dir().'/TextBundleWriterTest/'.mt_rand(1000, 9999); $this->filesystem = new Filesystem(); $this->filesystem->mkdir($this->directory); } protected function tearDown() { $this->filesystem->remove($this->directory); } public function testWrite() { $this->writer->write($this->directory, 'en', array( 'Entry1' => array( 'Array' => array('foo', 'bar', array('Key' => 'value')), 'Integer' => 5, 'IntVector' => array(0, 1, 2, 3), 'NotAnIntVector' => array(0 => 0, 2 => 1, 1 => 2, 3 => 3), 'IntVectorWithStringKeys' => array('a' => 0, 'b' => 1, 'c' => 2), 'TableWithIntKeys' => array(0 => 0, 1 => 1, 3 => 3), 'FalseBoolean' => false, 'TrueBoolean' => true, 'Null' => null, 'Float' => 1.23, ), 'Entry2' => 'String', )); $this->assertFileEquals(__DIR__.'/Fixtures/en.txt', $this->directory.'/en.txt'); } public function testWriteTraversable() { $this->writer->write($this->directory, 'en', new \ArrayIterator(array( 'Entry1' => new \ArrayIterator(array( 'Array' => array('foo', 'bar', array('Key' => 'value')), 'Integer' => 5, 'IntVector' => array(0, 1, 2, 3), 'NotAnIntVector' => array(0 => 0, 2 => 1, 1 => 2, 3 => 3), 'IntVectorWithStringKeys' => array('a' => 0, 'b' => 1, 'c' => 2), 'TableWithIntKeys' => array(0 => 0, 1 => 1, 3 => 3), 'FalseBoolean' => false, 'TrueBoolean' => true, 'Null' => null, 'Float' => 1.23, )), 'Entry2' => 'String', ))); $this->assertFileEquals(__DIR__.'/Fixtures/en.txt', $this->directory.'/en.txt'); } public function testWriteNoFallback() { $data = array( 'Entry' => 'Value', ); $this->writer->write($this->directory, 'en_nofallback', $data, $fallback = false); $this->assertFileEquals(__DIR__.'/Fixtures/en_nofallback.txt', $this->directory.'/en_nofallback.txt'); } public function testEscapeKeysIfNecessary() { $this->writer->write($this->directory, 'escaped', array( // Keys with colons must be escaped, otherwise the part after the // colon is interpreted as resource type 'EntryWith:Colon' => 'Value', // Keys with spaces must be escaped 'Entry With Spaces' => 'Value', )); $this->assertFileEquals(__DIR__.'/Fixtures/escaped.txt', $this->directory.'/escaped.txt'); } } __halt_compiler();----SIGNATURE:----B6aWe6qkhgpgFCG3FK6UHt3fICKH5uCjJoRLd4id7fJEjKc2JkHgGX46tYH7zlzyg5fMiFY2osrDTs0PLDuJ6nV0ksJF2BcK1bQR7K8bi+o4vUvqWAVgBckKXIOu11cFRrZW9Fgst0CvwCeX2E0FQ9GnEotr8B53zhwQCC/aUD7cnG2Yms+1xnG3eeaB2+4EVezw+SD9b+BHCk3txuiZNjjEaWF47qGECkPW3uoEn5yHzfBLxmvCL2S6JSQXPv5h518eEMajzfMD+0VCqudIn5Vwr1LIKMkS1s/pSzLbD+EXAu7ID02gfQ/evksl25A/0hP/CU3D5vou2royhn+9nil2xlJ/NLO5dHQh5tPjhQR+F+tc8j7tSCUebmq1zgoIH1X4Gs7ALlLnzojSdEW6qeaCq1tVYaEoyxIthggDrG/7zwlCN4okCbIpi6it6VjmfyzZwyM9EuEPivKSXtMAcI/QFz1qm/xAbJo05517wDMJR+tKGeCvVZ4vmqAP632fTAxr4cEE9LeTJPYOEFFKDCBPZZMU4osnvDHLj3hbHNDohgSHlKwY12nTHVwFaL4XUZ4c3J5Rh/Cw/zOA/v9mWFWLlOlPwnMXHMxh4XnCrsneP/y9gAs9ogyss9Hj9NFM9sMvX4GgUFOevYDQPMo1O9dOkUUJimI9I8wQOQ6K178=----ATTACHMENT:----NDM3OTQ2NTY5MzQyNDA2NSAxNzA4MDA0Njk5NDIxNCA5NDk1OTYwMzg1MjU1MDM1