1818use Symfony \Component \Form \Extension \Validator \Constraints \Form ;
1919use Symfony \Component \Form \Extension \Validator \Constraints \FormValidator ;
2020use Symfony \Component \Form \SubmitButtonBuilder ;
21+ use Symfony \Component \Validator \Constraints \GroupSequence ;
2122use Symfony \Component \Validator \Constraints \NotNull ;
2223use Symfony \Component \Validator \Constraints \NotBlank ;
2324use Symfony \Component \Validator \Constraints \Valid ;
@@ -65,8 +66,7 @@ public function testValidate()
6566 ->setData ($ object )
6667 ->getForm ();
6768
68- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
69- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
69+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
7070
7171 $ this ->validator ->validate ($ form , new Form ());
7272
@@ -88,12 +88,11 @@ public function testValidateConstraints()
8888 ->getForm ();
8989
9090 // First default constraints
91- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
92- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
91+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
9392
9493 // Then custom constraints
95- $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint1 , 'group1 ' );
96- $ this ->expectValidateValueAt (3 , 'data ' , $ object , $ constraint2 , 'group2 ' );
94+ $ this ->expectValidateValueAt (1 , 'data ' , $ object , $ constraint1 , 'group1 ' );
95+ $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint2 , 'group2 ' );
9796
9897 $ this ->validator ->validate ($ form , new Form ());
9998
@@ -151,7 +150,7 @@ public function testMissingConstraintIndex()
151150 $ form = new FormBuilder ('name ' , '\stdClass ' , $ this ->dispatcher , $ this ->factory );
152151 $ form = $ form ->setData ($ object )->getForm ();
153152
154- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
153+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
155154
156155 $ this ->validator ->validate ($ form , new Form ());
157156
@@ -362,6 +361,21 @@ function () { throw new TransformationFailedException(); }
362361 $ this ->assertNoViolation ();
363362 }
364363
364+ public function testHandleGroupSequenceValidationGroups ()
365+ {
366+ $ object = $ this ->getMockBuilder ('\stdClass ' )->getMock ();
367+ $ options = array ('validation_groups ' => new GroupSequence (array ('group1 ' , 'group2 ' )));
368+ $ form = $ this ->getBuilder ('name ' , '\stdClass ' , $ options )
369+ ->setData ($ object )
370+ ->getForm ();
371+
372+ $ this ->expectValidateAt (0 , 'data ' , $ object , new GroupSequence (array ('group1 ' , 'group2 ' )));
373+
374+ $ this ->validator ->validate ($ form , new Form ());
375+
376+ $ this ->assertNoViolation ();
377+ }
378+
365379 public function testHandleCallbackValidationGroups ()
366380 {
367381 $ object = $ this ->getMockBuilder ('\stdClass ' )->getMock ();
@@ -370,8 +384,7 @@ public function testHandleCallbackValidationGroups()
370384 ->setData ($ object )
371385 ->getForm ();
372386
373- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
374- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
387+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
375388
376389 $ this ->validator ->validate ($ form , new Form ());
377390
@@ -386,7 +399,7 @@ public function testDontExecuteFunctionNames()
386399 ->setData ($ object )
387400 ->getForm ();
388401
389- $ this ->expectValidateAt (0 , 'data ' , $ object , 'header ' );
402+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'header ' ) );
390403
391404 $ this ->validator ->validate ($ form , new Form ());
392405
@@ -403,8 +416,7 @@ public function testHandleClosureValidationGroups()
403416 ->setData ($ object )
404417 ->getForm ();
405418
406- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
407- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
419+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
408420
409421 $ this ->validator ->validate ($ form , new Form ());
410422
@@ -542,7 +554,7 @@ public function testAppendPropertyPath()
542554 ->setData ($ object )
543555 ->getForm ();
544556
545- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
557+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
546558
547559 $ this ->validator ->validate ($ form , new Form ());
548560
0 commit comments