2018-01-19 03:13:16 +03:00
|
|
|
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author: Alexander Kiryukhin <alexander@kiryukhin.su>
|
|
|
|
* @license: MIT
|
|
|
|
*/
|
|
|
|
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Class CompilerTest
|
|
|
|
*/
|
|
|
|
class CompilerTest extends TestCase
|
|
|
|
{
|
|
|
|
public function testParseLines()
|
|
|
|
{
|
|
|
|
$collection = [
|
|
|
|
'KEY1' => 'VALUE1',
|
|
|
|
'KEY2' => '${KEY1} ${KEY3}',
|
|
|
|
'KEY3' => 'VALUE3',
|
|
|
|
'KEY4' => 'Test ${KEY2} => ${KEY3}'
|
|
|
|
];
|
|
|
|
$tests = [
|
|
|
|
'KEY1' => 'VALUE1',
|
|
|
|
'KEY2' => 'VALUE1 VALUE3',
|
|
|
|
'KEY3' => 'VALUE3',
|
|
|
|
'KEY4' => 'Test VALUE1 VALUE3 => VALUE3',
|
|
|
|
];
|
|
|
|
$compiler = new \NeonXP\Dotenv\Compiler\Compiler();
|
2018-01-19 19:03:26 +03:00
|
|
|
$collectionOfarrays = [];
|
2018-01-19 03:13:16 +03:00
|
|
|
foreach ($collection as $key => $value) {
|
2018-01-19 19:03:26 +03:00
|
|
|
$collectionOfarrays[] = ['key' => $key, 'value' => $value];
|
2018-01-19 03:13:16 +03:00
|
|
|
}
|
2018-01-19 19:03:26 +03:00
|
|
|
$compiler->setRawCollection($collectionOfarrays);
|
2018-01-19 03:13:16 +03:00
|
|
|
|
|
|
|
foreach ($tests as $key => $expected) {
|
2018-01-19 19:03:26 +03:00
|
|
|
$result = $compiler->compile(['key' => $key, 'value' => $collection[$key]]);
|
|
|
|
$this->assertEquals($key, $result['key']);
|
|
|
|
$this->assertEquals($expected, $result['value']);
|
2018-01-19 03:13:16 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|