@@ 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 |