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