Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PhpFormatterTest.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Framework\App\DeploymentConfig\Writer\PhpFormatter;
9 
10 class PhpFormatterTest extends \PHPUnit\Framework\TestCase
11 {
18  public function testFormat($data, $comments, $expectedResult)
19  {
20  $formatter = new PhpFormatter();
21  $this->assertEquals($expectedResult, $formatter->format($data, $comments));
22  }
23 
27  public function formatWithCommentDataProvider()
28  {
29  $array = [
30  'ns1' => [
31  's1' => [
32  's11',
33  's12'
34  ],
35  's2' => [
36  's21',
37  's22'
38  ],
39  ],
40  'ns2' => [
41  's1' => [
42  's11'
43  ],
44  ],
45  'ns3' => 'just text',
46  'ns4' => 'just text'
47  ];
48  $comments1 = ['ns2' => 'comment for namespace 2'];
49  $comments2 = [
50  'ns1' => 'comment for\' namespace 1',
51  'ns2' => "comment for namespace 2.\nNext comment for' namespace 2",
52  'ns3' => 'comment for" namespace 3',
53  'ns4' => 'comment for namespace 4',
54  'ns5' => 'comment for unexisted namespace 5',
55  ];
56  $expectedResult1 = <<<TEXT
57 <?php
58 return [
59  'ns1' => [
60  's1' => [
61  0 => 's11',
62  1 => 's12',
63  ],
64  's2' => [
65  0 => 's21',
66  1 => 's22',
67  ],
68  ],
73  'ns2' => [
74  's1' => [
75  0 => 's11',
76  ],
77  ],
78  'ns3' => 'just text',
79  'ns4' => 'just text',
80 ];
81 
82 TEXT;
83  $expectedResult2 = <<<TEXT
84 <?php
85 return [
90  'ns1' => [
91  's1' => [
92  0 => 's11',
93  1 => 's12',
94  ],
95  's2' => [
96  0 => 's21',
97  1 => 's22',
98  ],
99  ],
105  'ns2' => [
106  's1' => [
107  0 => 's11',
108  ],
109  ],
114  'ns3' => 'just text',
119  'ns4' => 'just text',
120 ];
121 
122 TEXT;
123 
124  $expectedResult3 = <<<TEXT
125 <?php
126 return [
127  'ns1' => [
128  's1' => [
129  's11',
130  's12'
131  ],
132  's2' => [
133  's21',
134  's22'
135  ]
136  ],
137  'ns2' => [
138  's1' => [
139  's11'
140  ]
141  ],
142  'ns3' => 'just text',
143  'ns4' => 'just text'
144 ];
145 
146 TEXT;
147  return [
148  ['string', [], "<?php\nreturn 'string';\n"],
149  ['string', ['comment'], "<?php\nreturn 'string';\n"],
150  [$array, $comments1, $expectedResult1],
151  [$array, $comments2, $expectedResult2],
152  [$array, [], $expectedResult3],
153  ];
154  }
155 }