@@ -221,4 +221,43 @@ 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 testPrototypeSetNotRequiredIfParentNotRequiredAndChildRequired ()
245
+ {
246
+ $ child = $ this ->factory ->create ('collection ' , array (), array (
247
+ 'type ' => 'file ' ,
248
+ 'allow_add ' => true ,
249
+ 'prototype ' => true ,
250
+ 'prototype_name ' => '__test__ ' ,
251
+ 'required ' => true ,
252
+ ));
253
+
254
+ $ parent = $ this ->factory ->create ('form ' , array (), array (
255
+ 'required ' => false ,
256
+ ));
257
+
258
+ $ child ->setParent ($ parent );
259
+ $ this ->assertFalse ($ parent ->createView ()->vars ['required ' ], 'Parent is not required ' );
260
+ $ this ->assertFalse ($ child ->createView ()->vars ['required ' ], 'Child is not required ' );
261
+ $ this ->assertFalse ($ child ->createView ()->vars ['prototype ' ]->vars ['required ' ], '"Prototype" should not be required ' );
262
+ }
224
263
}
0 commit comments