| @@ 9-73 (lines=65) @@ | ||
| 6 | use org\bovigo\vfs\vfsStreamDirectory; |
|
| 7 | use org\bovigo\vfs\vfsStreamWrapper; |
|
| 8 | ||
| 9 | class PHPConstantsOutputAdapterTest extends \PHPUnit_Framework_TestCase { |
|
| 10 | ||
| 11 | /** |
|
| 12 | * @var PHPConstantsOutputAdapter |
|
| 13 | */ |
|
| 14 | private $PHPConstantsOutputAdapter; |
|
| 15 | ||
| 16 | protected function setUp() { |
|
| 17 | parent::setUp(); |
|
| 18 | $this->PHPConstantsOutputAdapter = new PHPConstantsOutputAdapter(); |
|
| 19 | } |
|
| 20 | ||
| 21 | /** |
|
| 22 | * @param $parameters |
|
| 23 | * @param $fileName |
|
| 24 | * @param $env |
|
| 25 | * @param $expected |
|
| 26 | * |
|
| 27 | * @dataProvider processProvider |
|
| 28 | */ |
|
| 29 | public function testProcess($parameters, $fileName, $env, $date, $expected) { |
|
| 30 | vfsStreamWrapper::register(); |
|
| 31 | vfsStreamWrapper::setRoot(new vfsStreamDirectory('root')); |
|
| 32 | ||
| 33 | $fileNameVFS = vfsStream::url('root/' . $fileName); |
|
| 34 | $this->PHPConstantsOutputAdapter->process($parameters, $fileNameVFS, $env, $date); |
|
| 35 | $actual = file_get_contents(vfsStream::url('root/' . $fileName)); |
|
| 36 | $this->assertEquals($expected, $actual); |
|
| 37 | vfsStreamWrapper::unregister(); |
|
| 38 | } |
|
| 39 | ||
| 40 | public function processProvider() { |
|
| 41 | $date = time(); |
|
| 42 | return array( |
|
| 43 | 'number' => array( |
|
| 44 | 'parameters' => array( |
|
| 45 | 'PARAMETER' => 1100, |
|
| 46 | 'PARAMETER1' => 1.100 |
|
| 47 | ), |
|
| 48 | 'fileName' => 'parameters.php', |
|
| 49 | 'env' => 'devlike/test', |
|
| 50 | 'date' => $date, |
|
| 51 | 'expected' => sprintf("%s\n%s\n%s\n", |
|
| 52 | sprintf("<?php\n/** This file is auto-generated during the build process of '%s' environment at %s **/", 'devlike/test', date(DATE_ATOM, $date)), |
|
| 53 | "define('PARAMETER', 1100);", |
|
| 54 | "define('PARAMETER1', 1.1);" |
|
| 55 | ), |
|
| 56 | ||
| 57 | ), |
|
| 58 | 'array' => array( |
|
| 59 | 'parameters' => array( |
|
| 60 | 'PARAMETER' => array(100, 200, 300, "aaa'", array("'\"'")) |
|
| 61 | ), |
|
| 62 | 'fileName' => 'parameters.php', |
|
| 63 | 'env' => 'devlike/test', |
|
| 64 | 'date' => $date, |
|
| 65 | 'expected' => sprintf("%s\n%s\n", |
|
| 66 | sprintf("<?php\n/** This file is auto-generated during the build process of '%s' environment at %s **/", 'devlike/test', date(DATE_ATOM, $date)), |
|
| 67 | sprintf("define('PARAMETER', '%s');", "a:5:{i:0;i:100;i:1;i:200;i:2;i:300;i:3;s:4:\"aaa\\'\";i:4;a:1:{i:0;s:3:\"\\'\"\\'\";}}") |
|
| 68 | ), |
|
| 69 | ||
| 70 | ), |
|
| 71 | ); |
|
| 72 | } |
|
| 73 | } |
|
| 74 | ||
| @@ 9-75 (lines=67) @@ | ||
| 6 | use org\bovigo\vfs\vfsStreamDirectory; |
|
| 7 | use org\bovigo\vfs\vfsStreamWrapper; |
|
| 8 | ||
| 9 | class YamlOutputAdapterTest extends \PHPUnit_Framework_TestCase { |
|
| 10 | ||
| 11 | /** |
|
| 12 | * @var YamlOutputAdapter |
|
| 13 | */ |
|
| 14 | private $YamlOutputAdapter; |
|
| 15 | ||
| 16 | protected function setUp() { |
|
| 17 | parent::setUp(); |
|
| 18 | $this->YamlOutputAdapter = new YamlOutputAdapter('parameters'); |
|
| 19 | } |
|
| 20 | ||
| 21 | /** |
|
| 22 | * @param $parameters |
|
| 23 | * @param $fileName |
|
| 24 | * @param $env |
|
| 25 | * @param $expected |
|
| 26 | * |
|
| 27 | * @dataProvider processProvider |
|
| 28 | */ |
|
| 29 | public function testProcess($parameters, $fileName, $env, $date, $expected) { |
|
| 30 | vfsStreamWrapper::register(); |
|
| 31 | vfsStreamWrapper::setRoot(new vfsStreamDirectory('root')); |
|
| 32 | ||
| 33 | $fileNameVFS = vfsStream::url('root/' . $fileName); |
|
| 34 | $this->YamlOutputAdapter->process($parameters, $fileNameVFS, $env, $date); |
|
| 35 | $actual = file_get_contents(vfsStream::url('root/' . $fileName)); |
|
| 36 | $this->assertEquals($expected, $actual); |
|
| 37 | vfsStreamWrapper::unregister(); |
|
| 38 | } |
|
| 39 | ||
| 40 | public function processProvider() { |
|
| 41 | $date = time(); |
|
| 42 | return array( |
|
| 43 | 'number' => array( |
|
| 44 | 'parameters' => array( |
|
| 45 | 'PARAMETER' => 1100, |
|
| 46 | 'PARAMETER1' => 1.100 |
|
| 47 | ), |
|
| 48 | 'fileName' => 'parameters.php', |
|
| 49 | 'env' => 'devlike/test', |
|
| 50 | 'date' => $date, |
|
| 51 | 'expected' => sprintf("%s\n%s\n%s\n%s\n", |
|
| 52 | sprintf("# This file is auto-generated during the build process of '%s' environment at %s", 'devlike/test', date(DATE_ATOM, $date)), |
|
| 53 | "parameters:", |
|
| 54 | " PARAMETER: 1100", |
|
| 55 | " PARAMETER1: 1.1" |
|
| 56 | ), |
|
| 57 | ||
| 58 | ), |
|
| 59 | 'array' => array( |
|
| 60 | 'parameters' => array( |
|
| 61 | 'PARAMETER' => array(100, 200, 300, "aaa'", array("'\"'")) |
|
| 62 | ), |
|
| 63 | 'fileName' => 'parameters.php', |
|
| 64 | 'env' => 'devlike/test', |
|
| 65 | 'date' => $date, |
|
| 66 | 'expected' => sprintf("%s\n%s\n%s\n", |
|
| 67 | sprintf("# This file is auto-generated during the build process of '%s' environment at %s", 'devlike/test', date(DATE_ATOM, $date)), |
|
| 68 | "parameters:", |
|
| 69 | " PARAMETER: [100, 200, 300, 'aaa''', ['''\"''']]" |
|
| 70 | ), |
|
| 71 | ||
| 72 | ), |
|
| 73 | ); |
|
| 74 | } |
|
| 75 | } |
|
| 76 | ||