@@ -59,56 +59,63 @@ public function constantsTypeProvider()
5959 ];
6060 }
6161
62- public function testPropertyDefaultValueIsSettable ()
62+ /**
63+ * @return array
64+ */
65+ protected function generateArrayData ($ longOutput , $ value )
6366 {
64- $ valueGenerator = new ValueGenerator ();
65- $ valueGenerator ->setValue ('foo ' );
66- $ this ->assertEquals ('foo ' , $ valueGenerator ->getValue ());
67- }
67+ $ shortOutput = str_replace (
68+ ['array( ' , ') ' ],
69+ ['[ ' , '] ' ],
70+ $ longOutput
71+ );
6872
69- public function testPropertyDefaultValueCanHandleStrings ()
70- {
71- $ valueGenerator = new ValueGenerator ();
72- $ valueGenerator ->setValue ('foo ' );
73- $ this ->assertEquals ('\'foo \'' , $ valueGenerator ->generate ());
73+ return [
74+ 'auto ' => [
75+ ValueGenerator::TYPE_AUTO , $ value , $ longOutput
76+ ],
77+ 'array ' => [
78+ ValueGenerator::TYPE_ARRAY , $ value , $ longOutput
79+ ],
80+ 'array long ' => [
81+ ValueGenerator::TYPE_ARRAY_LONG , $ value , $ longOutput
82+ ],
83+ 'array short ' => [
84+ ValueGenerator::TYPE_ARRAY_SHORT , $ value , $ shortOutput
85+ ],
86+ ];
7487 }
7588
76- public function testPropertyDefaultValueCanHandleArray ()
89+ /**
90+ * Data provider for testPropertyDefaultValueCanHandleArray test
91+ *
92+ * @return array
93+ */
94+ public function simpleArrayProvider ()
7795 {
78- $ expectedSource = <<<EOS
96+ $ value = ['foo ' ];
97+
98+ $ longOutput = <<<EOS
7999array(
80100 'foo',
81101)
82102EOS ;
83103
84- $ valueGenerator = new ValueGenerator ();
85- $ valueGenerator ->setValue (['foo ' ]);
86- $ this ->assertEquals ($ expectedSource , $ valueGenerator ->generate ());
87- }
88-
89- public function testPropertyDefaultValueCanHandleUnquotedString ()
90- {
91- $ valueGenerator = new ValueGenerator ();
92- $ valueGenerator ->setValue ('PHP_EOL ' );
93- $ valueGenerator ->setType ('constant ' );
94- $ this ->assertEquals ('PHP_EOL ' , $ valueGenerator ->generate ());
95-
96- $ valueGenerator = new ValueGenerator ();
97- $ valueGenerator ->setValue (5 );
98- $ this ->assertEquals ('5 ' , $ valueGenerator ->generate ());
99-
100- $ valueGenerator = new ValueGenerator ();
101- $ valueGenerator ->setValue (5.25 );
102- $ this ->assertEquals ('5.25 ' , $ valueGenerator ->generate ());
104+ return $ this ->generateArrayData ($ longOutput , $ value );
103105 }
104106
105- public function testPropertyDefaultValueCanHandleComplexArrayOfTypes ()
107+ /**
108+ * Data provider for testPropertyDefaultValueCanHandleComplexArrayOfTypes test
109+ *
110+ * @return array
111+ */
112+ public function complexArrayProvider ()
106113 {
107- $ targetValue = [
114+ $ value = [
108115 5 ,
109116 'one ' => 1 ,
110117 'two ' => '2 ' ,
111- 'constant1 ' => ' __DIR__ . \ '/anydir1/anydir2 \'' ,
118+ 'constant1 ' => " __DIR__ . '/anydir1/anydir2' " ,
112119 [
113120 'baz ' => true ,
114121 'foo ' ,
@@ -122,7 +129,7 @@ public function testPropertyDefaultValueCanHandleComplexArrayOfTypes()
122129 new ValueGenerator ('PHP_EOL ' , 'constant ' )
123130 ];
124131
125- $ expectedSource = <<<EOS
132+ $ longOutput = <<<EOS
126133array(
127134 5,
128135 'one' => 1,
@@ -142,14 +149,15 @@ public function testPropertyDefaultValueCanHandleComplexArrayOfTypes()
142149)
143150EOS ;
144151
145- $ valueGenerator = new ValueGenerator ();
146- $ valueGenerator ->initEnvironmentConstants ();
147- $ valueGenerator ->setValue ($ targetValue );
148- $ generatedTargetSource = $ valueGenerator ->generate ();
149- $ this ->assertEquals ($ expectedSource , $ generatedTargetSource );
152+ return $ this ->generateArrayData ($ longOutput , $ value );
150153 }
151154
152- public function testPropertyDefaultValueCanHandleArrayWithUnsortedKeys ()
155+ /**
156+ * Data provider for testPropertyDefaultValueCanHandleArrayWithUnsortedKeys test
157+ *
158+ * @return array
159+ */
160+ public function unsortedKeysArrayProvider ()
153161 {
154162 $ value = [
155163 1 => 'a ' ,
@@ -159,9 +167,7 @@ public function testPropertyDefaultValueCanHandleArrayWithUnsortedKeys()
159167 3 => 'e '
160168 ];
161169
162- $ valueGenerator = new ValueGenerator ();
163- $ valueGenerator ->setValue ($ value );
164- $ expectedSource = <<<EOS
170+ $ longOutput = <<<EOS
165171array(
166172 1 => 'a',
167173 0 => 'b',
@@ -171,7 +177,80 @@ public function testPropertyDefaultValueCanHandleArrayWithUnsortedKeys()
171177)
172178EOS ;
173179
174- $ this ->assertEquals ($ expectedSource , $ valueGenerator ->generate ());
180+ return $ this ->generateArrayData ($ longOutput , $ value );
181+ }
182+
183+ /**
184+ * @dataProvider unsortedKeysArrayProvider
185+ */
186+ public function testPropertyDefaultValueCanHandleArrayWithUnsortedKeys ($ type , $ value , $ expected )
187+ {
188+ $ valueGenerator = new ValueGenerator ();
189+ $ valueGenerator ->setType ($ type );
190+ $ valueGenerator ->setValue ($ value );
191+
192+ $ this ->assertEquals ($ expected , $ valueGenerator ->generate ());
193+ }
194+
195+ public function testPropertyDefaultValueConstructor ()
196+ {
197+ $ valueGenerator = new ValueGenerator ();
198+ $ this ->isInstanceOf ($ valueGenerator , 'Zend\Code\Generator\ValueGenerator ' );
199+ }
200+
201+ public function testPropertyDefaultValueIsSettable ()
202+ {
203+ $ valueGenerator = new ValueGenerator ();
204+ $ valueGenerator ->setValue ('foo ' );
205+ $ this ->assertEquals ('foo ' , $ valueGenerator ->getValue ());
206+ }
207+
208+ public function testPropertyDefaultValueCanHandleStrings ()
209+ {
210+ $ valueGenerator = new ValueGenerator ();
211+ $ valueGenerator ->setValue ('foo ' );
212+ $ this ->assertEquals ("'foo' " , $ valueGenerator ->generate ());
213+ }
214+
215+ /**
216+ * @dataProvider simpleArrayProvider
217+ */
218+ public function testPropertyDefaultValueCanHandleArray ($ type , $ value , $ expected )
219+ {
220+ $ valueGenerator = new ValueGenerator ();
221+ $ valueGenerator ->setType ($ type );
222+ $ valueGenerator ->setValue ($ value );
223+
224+ $ this ->assertEquals ($ expected , $ valueGenerator ->generate ());
225+ }
226+
227+ public function testPropertyDefaultValueCanHandleUnquotedString ()
228+ {
229+ $ valueGenerator = new ValueGenerator ();
230+ $ valueGenerator ->setValue ('PHP_EOL ' );
231+ $ valueGenerator ->setType ('constant ' );
232+ $ this ->assertEquals ('PHP_EOL ' , $ valueGenerator ->generate ());
233+
234+ $ valueGenerator = new ValueGenerator ();
235+ $ valueGenerator ->setValue (5 );
236+ $ this ->assertEquals ('5 ' , $ valueGenerator ->generate ());
237+
238+ $ valueGenerator = new ValueGenerator ();
239+ $ valueGenerator ->setValue (5.25 );
240+ $ this ->assertEquals ('5.25 ' , $ valueGenerator ->generate ());
241+ }
242+
243+ /**
244+ * @dataProvider complexArrayProvider
245+ */
246+ public function testPropertyDefaultValueCanHandleComplexArrayOfTypes ($ type , $ value , $ expected )
247+ {
248+ $ valueGenerator = new ValueGenerator ();
249+ $ valueGenerator ->initEnvironmentConstants ();
250+ $ valueGenerator ->setType ($ type );
251+ $ valueGenerator ->setValue ($ value );
252+
253+ $ this ->assertEquals ($ expected , $ valueGenerator ->generate ());
175254 }
176255
177256 /**
0 commit comments