74 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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\Util;
 | |
| 
 | |
| use Symfony\Component\Translation\Util\ArrayConverter;
 | |
| 
 | |
| class ArrayConverterTest extends \PHPUnit_Framework_TestCase
 | |
| {
 | |
|     /**
 | |
|      * @dataProvider messsagesData
 | |
|      */
 | |
|     public function testDump($input, $expectedOutput)
 | |
|     {
 | |
|         $this->assertEquals($expectedOutput, ArrayConverter::expandToTree($input));
 | |
|     }
 | |
| 
 | |
|     public function messsagesData()
 | |
|     {
 | |
|         return array(
 | |
|             array(
 | |
|                 // input
 | |
|                 array(
 | |
|                     'foo1' => 'bar',
 | |
|                     'foo.bar' => 'value',
 | |
|                 ),
 | |
|                 // expected output
 | |
|                 array(
 | |
|                     'foo1' => 'bar',
 | |
|                     'foo' => array('bar' => 'value'),
 | |
|                 ),
 | |
|             ),
 | |
|             array(
 | |
|                 // input
 | |
|                 array(
 | |
|                     'foo.bar' => 'value1',
 | |
|                     'foo.bar.test' => 'value2',
 | |
|                 ),
 | |
|                 // expected output
 | |
|                 array(
 | |
|                     'foo' => array(
 | |
|                         'bar' => 'value1',
 | |
|                         'bar.test' => 'value2',
 | |
|                     ),
 | |
|                 ),
 | |
|             ),
 | |
|             array(
 | |
|                 // input
 | |
|                 array(
 | |
|                     'foo.level2.level3.level4' => 'value1',
 | |
|                     'foo.level2' => 'value2',
 | |
|                     'foo.bar' => 'value3',
 | |
|                 ),
 | |
|                 // expected output
 | |
|                 array(
 | |
|                     'foo' => array(
 | |
|                         'level2' => 'value2',
 | |
|                         'level2.level3.level4' => 'value1',
 | |
|                         'bar' => 'value3',
 | |
|                     ),
 | |
|                 ),
 | |
|             ),
 | |
|         );
 | |
|     }
 | |
| }
 | 
