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 ;
@@ -67,8 +68,7 @@ public function testValidate()
6768 ->setData ($ object )
6869 ->getForm ();
6970
70- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
71- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
71+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
7272
7373 $ this ->validator ->validate ($ form , new Form ());
7474
@@ -90,12 +90,11 @@ public function testValidateConstraints()
9090 ->getForm ();
9191
9292 // First default constraints
93- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
94- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
93+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
9594
9695 // Then custom constraints
97- $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint1 , 'group1 ' );
98- $ this ->expectValidateValueAt (3 , 'data ' , $ object , $ constraint2 , 'group2 ' );
96+ $ this ->expectValidateValueAt (1 , 'data ' , $ object , $ constraint1 , 'group1 ' );
97+ $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint2 , 'group2 ' );
9998
10099 $ this ->validator ->validate ($ form , new Form ());
101100
@@ -153,7 +152,7 @@ public function testMissingConstraintIndex()
153152 $ form = new FormBuilder ('name ' , '\stdClass ' , $ this ->dispatcher , $ this ->factory );
154153 $ form = $ form ->setData ($ object )->getForm ();
155154
156- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
155+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
157156
158157 $ this ->validator ->validate ($ form , new Form ());
159158
@@ -364,6 +363,21 @@ function () { throw new TransformationFailedException(); }
364363 $ this ->assertNoViolation ();
365364 }
366365
366+ public function testHandleGroupSequenceValidationGroups ()
367+ {
368+ $ object = $ this ->getMockBuilder ('\stdClass ' )->getMock ();
369+ $ options = array ('validation_groups ' => new GroupSequence (array ('group1 ' , 'group2 ' )));
370+ $ form = $ this ->getBuilder ('name ' , '\stdClass ' , $ options )
371+ ->setData ($ object )
372+ ->getForm ();
373+
374+ $ this ->expectValidateAt (0 , 'data ' , $ object , new GroupSequence (array ('group1 ' , 'group2 ' )));
375+
376+ $ this ->validator ->validate ($ form , new Form ());
377+
378+ $ this ->assertNoViolation ();
379+ }
380+
367381 public function testHandleCallbackValidationGroups ()
368382 {
369383 $ object = $ this ->getMockBuilder ('\stdClass ' )->getMock ();
@@ -372,8 +386,7 @@ public function testHandleCallbackValidationGroups()
372386 ->setData ($ object )
373387 ->getForm ();
374388
375- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
376- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
389+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
377390
378391 $ this ->validator ->validate ($ form , new Form ());
379392
@@ -388,7 +401,7 @@ public function testDontExecuteFunctionNames()
388401 ->setData ($ object )
389402 ->getForm ();
390403
391- $ this ->expectValidateAt (0 , 'data ' , $ object , 'header ' );
404+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'header ' ) );
392405
393406 $ this ->validator ->validate ($ form , new Form ());
394407
@@ -405,8 +418,7 @@ public function testHandleClosureValidationGroups()
405418 ->setData ($ object )
406419 ->getForm ();
407420
408- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
409- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
421+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
410422
411423 $ this ->validator ->validate ($ form , new Form ());
412424
@@ -544,7 +556,7 @@ public function testAppendPropertyPath()
544556 ->setData ($ object )
545557 ->getForm ();
546558
547- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
559+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
548560
549561 $ this ->validator ->validate ($ form , new Form ());
550562
0 commit comments