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 ;
@@ -72,8 +73,7 @@ public function testValidate()
7273 ->setData ($ object )
7374 ->getForm ();
7475
75- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
76- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
76+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
7777
7878 $ this ->validator ->validate ($ form , new Form ());
7979
@@ -95,12 +95,11 @@ public function testValidateConstraints()
9595 ->getForm ();
9696
9797 // First default constraints
98- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
99- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
98+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
10099
101100 // Then custom constraints
102- $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint1 , 'group1 ' );
103- $ this ->expectValidateValueAt (3 , 'data ' , $ object , $ constraint2 , 'group2 ' );
101+ $ this ->expectValidateValueAt (1 , 'data ' , $ object , $ constraint1 , 'group1 ' );
102+ $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint2 , 'group2 ' );
104103
105104 $ this ->validator ->validate ($ form , new Form ());
106105
@@ -121,8 +120,7 @@ public function testValidateIfParentWithCascadeValidation()
121120
122121 $ form ->setData ($ object );
123122
124- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
125- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
123+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
126124
127125 $ this ->validator ->validate ($ form , new Form ());
128126
@@ -180,7 +178,7 @@ public function testMissingConstraintIndex()
180178 $ form = new FormBuilder ('name ' , '\stdClass ' , $ this ->dispatcher , $ this ->factory );
181179 $ form = $ form ->setData ($ object )->getForm ();
182180
183- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
181+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
184182
185183 $ this ->validator ->validate ($ form , new Form ());
186184
@@ -392,15 +390,29 @@ function () { throw new TransformationFailedException(); }
392390 }
393391
394392 public function testHandleCallbackValidationGroups ()
393+ {
394+ $ object = $ this ->getMockBuilder ('\stdClass ' )->getMock ();
395+ $ options = array ('validation_groups ' => new GroupSequence (array ('group1 ' , 'group2 ' )));
396+ $ form = $ this ->getBuilder ('name ' , '\stdClass ' , $ options )
397+ ->setData ($ object )
398+ ->getForm ();
399+
400+ $ this ->expectValidateAt (0 , 'data ' , $ object , new GroupSequence (array ('group1 ' , 'group2 ' )));
401+
402+ $ this ->validator ->validate ($ form , new Form ());
403+
404+ $ this ->assertNoViolation ();
405+ }
406+
407+ public function testHandleGroupSequenceValidationGroups ()
395408 {
396409 $ object = $ this ->getMockBuilder ('\stdClass ' )->getMock ();
397410 $ options = array ('validation_groups ' => array ($ this , 'getValidationGroups ' ));
398411 $ form = $ this ->getBuilder ('name ' , '\stdClass ' , $ options )
399412 ->setData ($ object )
400413 ->getForm ();
401414
402- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
403- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
415+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
404416
405417 $ this ->validator ->validate ($ form , new Form ());
406418
@@ -415,7 +427,7 @@ public function testDontExecuteFunctionNames()
415427 ->setData ($ object )
416428 ->getForm ();
417429
418- $ this ->expectValidateAt (0 , 'data ' , $ object , 'header ' );
430+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'header ' ) );
419431
420432 $ this ->validator ->validate ($ form , new Form ());
421433
@@ -432,8 +444,7 @@ public function testHandleClosureValidationGroups()
432444 ->setData ($ object )
433445 ->getForm ();
434446
435- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
436- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
447+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
437448
438449 $ this ->validator ->validate ($ form , new Form ());
439450
@@ -571,7 +582,7 @@ public function testAppendPropertyPath()
571582 ->setData ($ object )
572583 ->getForm ();
573584
574- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
585+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
575586
576587 $ this ->validator ->validate ($ form , new Form ());
577588
0 commit comments