@@ -221,4 +221,46 @@ public function testPrototypeSetNotRequired()
221
221
$ this ->assertFalse ($ form ->createView ()->vars ['required ' ], 'collection is not required ' );
222
222
$ this ->assertFalse ($ form ->createView ()->vars ['prototype ' ]->vars ['required ' ], '"prototype" should not be required ' );
223
223
}
224
+
225
+ public function testPrototypeSetNotRequiredIfParentNotRequired ()
226
+ {
227
+ $ child = $ this ->factory ->create ('collection ' , array (), array (
228
+ 'type ' => 'file ' ,
229
+ 'allow_add ' => true ,
230
+ 'prototype ' => true ,
231
+ 'prototype_name ' => '__test__ ' ,
232
+ ));
233
+
234
+ $ parent = $ this ->factory ->create ('form ' , array (), array (
235
+ 'required ' => false ,
236
+ ));
237
+
238
+ $ child ->setParent ($ parent );
239
+ $ this ->assertFalse ($ parent ->createView ()->vars ['required ' ], 'Parent is not required ' );
240
+ $ this ->assertFalse ($ child ->createView ()->vars ['required ' ], 'Child is not required ' );
241
+ $ this ->assertFalse ($ child ->createView ()->vars ['prototype ' ]->vars ['required ' ], '"Prototype" should not be required ' );
242
+ }
243
+
244
+ public function testPrototypeNotOverrideRequiredByEntryOptionsInFavorOfParent ()
245
+ {
246
+ $ child = $ this ->factory ->create ('collection ' , array (), array (
247
+ 'type ' => 'file ' ,
248
+ 'allow_add ' => true ,
249
+ 'prototype ' => true ,
250
+ 'prototype_name ' => '__test__ ' ,
251
+ 'options ' => array (
252
+ 'required ' => true ,
253
+ ),
254
+ ));
255
+
256
+ $ parent = $ this ->factory ->create ('form ' , array (), array (
257
+ 'required ' => false ,
258
+ ));
259
+
260
+ $ child ->setParent ($ parent );
261
+
262
+ $ this ->assertFalse ($ parent ->createView ()->vars ['required ' ], 'Parent is not required ' );
263
+ $ this ->assertFalse ($ child ->createView ()->vars ['required ' ], 'Child is not required ' );
264
+ $ this ->assertFalse ($ child ->createView ()->vars ['prototype ' ]->vars ['required ' ], '"Prototype" should not be required ' );
265
+ }
224
266
}
0 commit comments